Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1165 commits
Select commit Hold shift + click to select a range
d52062e
fix(place meet): don't route automatically if preview outputs
stakach Oct 12, 2021
faf6218
fix(panasonic camera): inverted controls only to invert tilt
stakach Oct 12, 2021
2d19ad8
feat(place bookings): add hide qr code settings
stakach Oct 12, 2021
5a31ebd
feat(extron matrix): add named commands and preference switch one
stakach Oct 12, 2021
14062ba
feat(place meet): add microphone controls
stakach Oct 13, 2021
0afa356
feat(place meet): improve microphone support
stakach Oct 13, 2021
df2e755
fix(place meet): setting default mic levels
stakach Oct 13, 2021
e8c6861
feat(qsc control): improve response processing
stakach Oct 14, 2021
5853a48
feat(place meet): add master volume controls
stakach Oct 14, 2021
f3c71b9
feat(place router): update to support layered routing
stakach Oct 15, 2021
406a502
feat(extron matrix): use switch_one where possible
stakach Oct 15, 2021
cdc4758
feat(place router): add support for switcher layers
stakach Oct 15, 2021
4a68353
fix(place router): add spec for routing layers
stakach Oct 15, 2021
00be552
feat(panasonic camera): slow down camera speed
stakach Oct 16, 2021
5cb814d
chore(place meet readme): add audio and switching layer config
stakach Oct 16, 2021
2498266
feat(place meet): add min and max level support
stakach Oct 18, 2021
be9b145
fix(place meet): use unmapped data
stakach Oct 18, 2021
f9dca71
Revert "fix(place meet): use unmapped data"
stakach Oct 18, 2021
799cb49
fix(place meet): expose mic min and max fields
stakach Oct 18, 2021
5d7793e
feat: update router interface for driver 5.9 compatibility
stakach Oct 18, 2021
53fdd38
fix(floorsense booking sync): floorsense adhoc booking ids not saved
stakach Oct 19, 2021
a0e1717
chore(place checkin helper): add some documentation
stakach Oct 20, 2021
85aa432
feat(place meet): perform more actions on shutdown
stakach Oct 20, 2021
22b220e
feat(floorsense booking sync): ensure timezone always set
stakach Oct 20, 2021
c215651
fix(floorsense booking sync): don't recreate bookings if tapped out
stakach Oct 20, 2021
2011889
fix(floorsense booking sync): ensure we don't grab tomorrows bookings
stakach Oct 20, 2021
78a9cbc
fix(floorsense booking sync): ensure we release ended bookings
stakach Oct 20, 2021
82bb242
fix(floorsense booking sync): mismatch on timezone setting name
stakach Oct 20, 2021
213eca9
fix(cisco room kit): presentation mode feedback when presenting
stakach Oct 20, 2021
60d52c3
Revert "fix(cisco room kit): presentation mode feedback when presenting"
stakach Oct 20, 2021
ae2462e
fix(cisco room kit): presentation mode feedback
stakach Oct 20, 2021
87395cf
fix(cisco room kit): presentation mode feedback
stakach Oct 20, 2021
0eea762
fix(router mute node): was not matching ref
stakach Oct 20, 2021
cce32e7
fix(place meet): don't fail on unroute
stakach Oct 20, 2021
5e205ff
fix(place meet): epson projector power state unreliable
stakach Oct 20, 2021
f1e68d3
fix(amber tech grandview): add retry to commands
stakach Oct 20, 2021
a8095bc
fix(floorsense booking sync): concat all instead of just the first
stakach Oct 21, 2021
eba375d
feat(extron matrix): add muting support
stakach Oct 21, 2021
cf0e592
feat(place meet): add support for volume min max ranges
stakach Oct 21, 2021
b2b67d5
fix(place meet): default mute id feedback
stakach Oct 21, 2021
3ef6791
chore: crystal tool format
stakach Oct 22, 2021
7d05917
feat(place router): inputs can define additional routes
stakach Oct 22, 2021
24d7c2b
fix(place router): prevent looping forever when following routes
stakach Oct 22, 2021
96c4a6f
feat(place router): add ignore_source_routes options
stakach Oct 22, 2021
04064d1
fix(amber_tech grandview): slow down requests
stakach Oct 22, 2021
905f4f1
feat(place meet): add support for the VC selecting camera input
stakach Oct 22, 2021
2d12e79
chore(place meet readme): document camera control configuration
stakach Oct 22, 2021
e9a5ad6
fix(place meet): ensure cameras are on when using VC
stakach Oct 22, 2021
0bef752
fix(floorsense mobile checkin): check if desk is bookable
stakach Oct 25, 2021
7bdc4e4
fix(floorsense mobile checkin): ensure booking is on now
stakach Oct 26, 2021
df61d46
chore(shard.lock): bump models
stakach Oct 27, 2021
39dddde
feat(place staff-api): add users query
stakach Oct 27, 2021
8dc6b19
fix(cisco collaboration endpoint): possible binding race condition on…
stakach Oct 27, 2021
20dbfa6
fix(cisco collab): attempt to init connection if no login detected
stakach Oct 27, 2021
0aeac9f
chore(cisco collab): tweak connection initialisation timers
stakach Oct 27, 2021
2bccc53
fix(cisco room kit): ensure feedback only registered after init
stakach Oct 28, 2021
8bc8d3b
fix(cisco room kit): echo off not needed
stakach Oct 28, 2021
fb6d193
fix(cisco room kit): ensure feedback is registered
stakach Oct 28, 2021
e3ccf83
fix(cisco room kit): use named commands and ensure json output in use
stakach Oct 28, 2021
c5d9e62
fix(cisco roomkit): ensure feedback is hooked up
stakach Oct 28, 2021
c4a87d7
feat(place meet): add joining room support
stakach Oct 29, 2021
c11ae77
fix(place meet): adhere to merge outputs settings
stakach Oct 29, 2021
4b49530
fix(place meet): perform custom actions on mode switch
stakach Oct 29, 2021
2327b27
fix(place meet): init_joining on settings update
stakach Oct 29, 2021
b3a95a7
fix(cisco collab endpoint): disconnect if not receiving responses
stakach Oct 29, 2021
5e2963d
fix(cisco collab endpoint): invalid assignment
stakach Oct 29, 2021
9da59f2
fix(place meet): fix compilation issues
stakach Oct 29, 2021
a39a332
fix(place meet): needs to expose local mics
stakach Oct 29, 2021
a66bea3
feat(place meet): allow configuring which devices to shutdown
stakach Oct 30, 2021
16d5bcd
feat(place meet): persist joining room state
stakach Oct 30, 2021
c6cedac
fix(place meet): need joining settings early if join_selected
stakach Oct 30, 2021
0955e73
fix(place meet): select an unjoined mode on shutdown
stakach Oct 30, 2021
9e60323
fix(place meet): don't merge rooms if not included in the join
stakach Oct 30, 2021
6344ab9
fix(place meet): always unlink systems when requested on shutdown
stakach Oct 30, 2021
07450a4
fix(place meet): simulate routes on remote systems properly
stakach Oct 31, 2021
24aa112
fix(place meet): ignore selected input if tab available
stakach Oct 31, 2021
a5b985a
fix(place meet): ignore selected input if tab available
stakach Oct 31, 2021
fdcacfc
feat(place meet readme): describe how joining config works
stakach Oct 31, 2021
8c0e2aa
fix(cisco ui extender): subscribe events when driver is ready
stakach Nov 10, 2021
8e3dcfb
fix(cisco ui extender spec): binds on ready
stakach Nov 10, 2021
49593ca
feat(ashrae bacnet): allow saving of known devices
stakach Nov 10, 2021
b8628a3
fix(cisco ui extender): paths are case sensitive
stakach Nov 11, 2021
fba0e66
fix(cisco ui extender): fix monitoring path
stakach Nov 11, 2021
65cac2e
fix(cisco ui extender): add additional specs and debug output
stakach Nov 11, 2021
02ae1ee
fix(cisco ui extender): change how events are processed
stakach Nov 11, 2021
e88e183
fix(cisco collaboration): parsing Value hash key
stakach Nov 11, 2021
7815f81
fix(cisco ui extender): ensure we rebind after VC disconnect
stakach Nov 12, 2021
1bf5dd7
fix(lutron vive bacnet): wait for response before polling again
stakach Nov 15, 2021
4c243f7
feat(ashrae bacnet): use the queuing system to prioritise tasks
stakach Nov 15, 2021
1b7ad5a
fix(cisco collaboration endpoint): ensure init was successful
stakach Nov 15, 2021
d98ef40
fix(ashrae bacnet): ensure queue isn't blocked on timeouts
stakach Nov 15, 2021
d333d5b
feat(cisco collb / ui extender): add more debugging output
stakach Nov 16, 2021
758369d
fix(cisco collaboration endpoint): fail if control not registered
stakach Nov 16, 2021
004a4df
fix(cisco collaboration endpoint): fail if control not registered
stakach Nov 16, 2021
ab5ce45
Added an ability to use null values for iaq in the sensors (#269)
grkek Nov 16, 2021
1dd048b
fix(ashrae bacnet): low write timeouts and no client retries
stakach Nov 16, 2021
a7860fe
chore(cisco ui extender): add some additional logging
stakach Nov 16, 2021
fdc3f74
fix(cisco ui extender): don't clear subscrptions
stakach Nov 16, 2021
fbc9bd7
fix(cisco collaboration endpoint): don't fail on register
stakach Nov 16, 2021
8916742
Revert "fix(cisco ui extender): don't clear subscrptions"
stakach Nov 16, 2021
0d56b70
fix(cisco collaboration endpoint): ensure feedback paths are accurate
stakach Nov 16, 2021
c85bec5
chore(shard.lock): bump driver version
stakach Nov 16, 2021
5805663
fix(meraki locations): don't stop processing on single failure
stakach Nov 17, 2021
fdaafce
fix(meraki locations): return sensors if location is unknown
stakach Nov 17, 2021
5412f67
fix(amber tech grandview): status should execute even if queue offline
stakach Nov 17, 2021
4138f85
chore(shard.lock): bump drivers
stakach Nov 17, 2021
7df6589
feat(amber_tech grandview): add some headers to requests
stakach Nov 17, 2021
135960b
chore(shard.lock): bump driver
stakach Nov 17, 2021
c9a849e
fix(cisco ui extender): monitor placeos namespace
stakach Nov 17, 2021
65ad34a
Revert "fix(cisco ui extender): monitor placeos namespace"
stakach Nov 17, 2021
62fd054
fix(cisco ui extender): delay rebinding after a subscription clear
stakach Nov 17, 2021
c63002d
fix(cisco ui extender): don't block subscription reactor
stakach Nov 18, 2021
8117388
fix(place area management): have both people count average and sum
stakach Nov 18, 2021
8778dc1
fix(cisco collaboration endpoint): clear flags before blocking callback
stakach Nov 18, 2021
d5a135a
fix(cisco collaboration endpoint): check if tokeniser set
stakach Nov 18, 2021
36d0f9c
fix(cisco collaboration endpoint): fix missing type preventing compil…
stakach Nov 18, 2021
4bbda3c
Revert "fix(cisco ui extender): delay rebinding after a subscription …
stakach Nov 18, 2021
51b3728
fix(ashrae bacnet): improve polling requests
stakach Nov 18, 2021
2d7b490
fix(cisco collaboration endpoint): ensure successful init
stakach Nov 18, 2021
8d59ff6
fix(cisco ui extender): don't mark a failed connection ready
stakach Nov 18, 2021
7beda2b
fix(cisco collaboration endpoint): request JSON output as early as po…
stakach Nov 18, 2021
a4eeebc
fix(cisco/meraki): Client.vlan is now a String not Int32 (#270)
w-le Nov 18, 2021
e540d1d
fix(cisco collaboration endpoint): ensure we have schedules in place
stakach Nov 18, 2021
8f87e1f
fix(cisco collab): don't use queue for setting output mode
stakach Nov 18, 2021
f41172d
fix(cisco collab): wait a small amount of time before after login
stakach Nov 18, 2021
cb5d08b
fix(cisco collab): randomise connection of driver on load
stakach Nov 18, 2021
f6ab6fc
fix(cisco collab): reduce the delay time
stakach Nov 18, 2021
5fe6969
fix(cisco collab): don't sleep on_load
stakach Nov 18, 2021
0c8b4c7
chore(shard.lock): bump driver version
stakach Nov 18, 2021
6f0888d
chore(shard.lock): bump driver version
stakach Nov 19, 2021
ea335c3
chore(shard.lock): bump driver version
stakach Nov 20, 2021
6fcf218
fix(place meet): camera input selection type
stakach Nov 22, 2021
c5b1e56
fix(place meet): when merging tabs, merge the unmapped JSON
stakach Nov 22, 2021
a553ad0
fix(vergesense/mqttt_export): remove root topic (#271)
pkheav Nov 22, 2021
6a547d2
chore(drivers): run crystal tool format (#272)
pkheav Nov 22, 2021
8742f4c
feat(location services): downcase emails for lookup
stakach Nov 23, 2021
25ba3ab
feat(floorsense desks): add locker sharing functions
stakach Nov 23, 2021
2eabcd1
feat(floorsense desks): add method for setting privacy
stakach Nov 23, 2021
fb5a81e
fix(floorsense custom booking sync)
stakach Nov 24, 2021
34f52d5
Revert "fix(vergesense/mqttt_export): remove root topic (#271)" (#274)
pkheav Nov 24, 2021
c4fbf94
fix(floorsense custom booking sync): improper place release
stakach Nov 24, 2021
e94cf92
chore(floorsense): crystal tool format
stakach Nov 24, 2021
d0a5227
fix(place meet): mixer mute
stakach Nov 24, 2021
22022be
feat(vergesense location service): add desk sensor values to location…
stakach Nov 25, 2021
1fe4914
fix(floorsense custom booking sync): mark bookings are checked out
stakach Nov 25, 2021
76e6ef4
feat(floorsense desks websocket): add privacy and locker functions
stakach Nov 26, 2021
57705fe
feat(vergesense location service): optionally return empty spaces
stakach Nov 30, 2021
8bca763
fix(cisco meraki): close rate limiter on unload
stakach Dec 2, 2021
6a86221
chore(place staff api): fix spelling
stakach Dec 2, 2021
283e4df
fix(vergesense location service): make return_empty_spaces optional
stakach Dec 3, 2021
7125c83
fix(place staff api): fix issue with `default_verify_param`
stakach Dec 6, 2021
ae1147a
feat(juniper mist): add mist driver (#275)
stakach Dec 6, 2021
8a96127
feat(place meet): add QSC dialling extension
stakach Dec 7, 2021
08bc2ea
Vive leap (#276)
stakach Dec 20, 2021
16e1348
chore(docs): fix crystal docs generation (#244)
stakach Dec 20, 2021
f0792ec
fix(place router spec): broken in `crystal docs` fix up
stakach Dec 20, 2021
079b1e0
fix(place router): when muting a route, only mute the appropriate layer
stakach Dec 21, 2021
277a982
fix(place meet): order of operations
stakach Dec 21, 2021
a299c0b
feat(place area management): add measurement hints
stakach Dec 22, 2021
e73f01e
feat(floorsense desks): add desk control, group and setting listing
stakach Jan 10, 2022
bc6af1c
Fixing property type on Floorsense::UserGroup (#279)
cacique-coder Jan 12, 2022
cdf3017
feat(place booking check in): add auto cancellation support
stakach Jan 13, 2022
9b2390a
fix(place bookings checkin helper): use bookings namespace for emails
stakach Jan 13, 2022
c6718f4
feat: SecureOS driver (#278)
chillfox Jan 18, 2022
dc1dcd5
fix(vergesense): space_ref_id can be nil
stakach Jan 24, 2022
6b2a966
feat: add Meraki mqtt driver (#280)
stakach Jan 25, 2022
7baaf52
fix(meraki mqtt): handle differences in topic key names
stakach Jan 25, 2022
f959b43
fix(mqtt): bump dependencies
stakach Jan 25, 2022
57da38e
feat(drivers): add place demo drivers
stakach Jan 27, 2022
3e4a16e
feat(meraki mqtt): enable toggling of empty desks
stakach Jan 27, 2022
893d5b1
fix(place area management): check at location count
stakach Jan 31, 2022
4365424
chore(shards.lock): bump dependencies
stakach Feb 11, 2022
554a5d9
chore(place bookings): add debugging to change notifications
stakach Feb 14, 2022
9655f6f
fix(place bookings): don't clear subscriptions on sensor check
stakach Feb 14, 2022
8056992
feat: add kontakt io driver
stakach Feb 16, 2022
8ea4867
feat(kontakt.io): test streaming API
stakach Feb 16, 2022
b6a5910
fix(konkat.io): add undocumented fields for eventHub
stakach Feb 16, 2022
16152b4
fix(place meet): ensure driver loads functions correctly
stakach Feb 20, 2022
f836d9c
Improvements/floorsense reservation lockers (#281)
cacique-coder Feb 21, 2022
12070ed
feat(place checkin helper): add spec, additional logging
stakach Feb 22, 2022
356adec
chore(shard.yml): bump versions
stakach Feb 22, 2022
7bd6530
fix(place bookings): pending set once meeting checked in
stakach Feb 22, 2022
b07f244
chore(shard.lock): bump dependencies
stakach Feb 23, 2022
4f4be27
fix(amber tech grandview): increase delay between requests
stakach Feb 23, 2022
86b4480
fix(ambertech grandview): requires a 2 second delay between requests
stakach Feb 24, 2022
b897e78
chore(amber_tech grandview): add default setting
stakach Feb 24, 2022
8d4ae79
feat(meraki dashboard): add bluetooth location support
stakach Feb 24, 2022
3ca81ca
chore(amber_tech grandview): formatting
stakach Feb 24, 2022
53a34d9
fix(meraki scanning): nearest_ap_tags is optional
stakach Feb 24, 2022
3939485
fix(floorsense): Add missing query string symbol to split slave-list …
cacique-coder Feb 25, 2022
5c52248
feat(kontakt): add mac to username mappings
stakach Feb 28, 2022
5416e34
feat(place check in helper): setting to ignore long meetings
stakach Feb 28, 2022
a4a2edd
feat(kontakt): add contact tracing reporting
stakach Mar 2, 2022
725a923
feat(kontakt cloud): improve logging for debugging
stakach Mar 2, 2022
66a7c2e
fix(kontakt cloud): doesn't like encoded params
stakach Mar 2, 2022
1f678f1
chore(kontakt cloud): improve spec
stakach Mar 2, 2022
884665d
fix(kontakt tracing): checking ownership
stakach Mar 2, 2022
25b718f
fix(place meet): not cloning tab presentation source
stakach Mar 7, 2022
f0b3381
chore(deps): bump actions/checkout from 2 to 3 (#286)
dependabot[bot] Mar 7, 2022
5c1ddb1
build: update for broken shard reference
caspiano Mar 9, 2022
88d7192
feat: add Webex InstantConnect driver (#283)
tassja Mar 14, 2022
b88e85c
feat(place staff api): add support for API keys
stakach Mar 14, 2022
9c6af59
feat(juniper mist): simplify driver settings
stakach Mar 14, 2022
a36f972
feat(juniper mist): add site list helper function
stakach Mar 14, 2022
e845212
adding desk_scan and activate booking into floorsense driver (#290)
cacique-coder Mar 14, 2022
7204c17
chore(webex instant connect): fix formatting
stakach Mar 14, 2022
90b17c9
feat: add crestron nvx drivers (#289)
stakach Mar 15, 2022
d8797c5
feat(place meet): power on inputs on tab selection
stakach Mar 15, 2022
19a1988
feat(place bookings): add checkin helper
stakach Mar 16, 2022
04de541
feat: add philips dynalite driver (#292)
stakach Mar 21, 2022
2d897a7
Add Webex bot drivers (#285)
grkek Mar 22, 2022
5a9301d
feat(kontaktio): propagate errors in contact tracing
stakach Mar 23, 2022
3e89066
feat(kontakt io tracing): query 1 day at a time to avoid errors
stakach Mar 23, 2022
e48c2e7
feat(kontakt io tracing): remove duplicates from the report
stakach Mar 23, 2022
10dcf89
fix(kontakt io tracing): remove duplicates from the report
stakach Mar 23, 2022
2d3c336
feat(vergesense location services): allow for custom desk space types
stakach Mar 24, 2022
154ccf7
feat(place bookings): add booking notifier (#282)
stakach Mar 24, 2022
4f1dece
chore(shard.lock): bump dependencies
stakach Mar 28, 2022
7cc59fc
chore(shard.lock): peg crystal-email due to breaking change
stakach Mar 28, 2022
5050df9
feat(place/bookings): add offline image status
stakach Mar 28, 2022
c1b95ef
fix(place/bookings): use room_image as the setting
stakach Mar 28, 2022
8f46f3c
feat(place/bookings): configure if the room is bookable or not
stakach Mar 29, 2022
b298103
feat(place/bookings): add support for offline image and colour
stakach Mar 29, 2022
0a53229
feat(place/bookings): add custom QR code colour setting
stakach Mar 29, 2022
9f8945c
feat(floorsense/desks_websocket): add missing functions
stakach Mar 29, 2022
77c9db7
chore(.gitignore): add src symlink
stakach Mar 30, 2022
b98e347
chore(helvar/net): fix file permissions
stakach Mar 30, 2022
024aab0
feat(meraki/mqtt): average desk occupancy over time
stakach Mar 31, 2022
d15dbc6
chore(meraki/mqtt): add some comments on plotting points
stakach Mar 31, 2022
0282705
chore: run crystal tool format
stakach Mar 31, 2022
1bfa460
feat(pattr/chat_bot): POC integration driver
stakach Mar 31, 2022
ce352cb
feat: add demo location service
stakach Mar 31, 2022
60f0707
fix(pattr/chat_bot): webhook response not working
stakach Apr 1, 2022
d3316d9
feat: add rhombus security interop (#297)
stakach Apr 4, 2022
f19c343
fix(rhombus\security_mock): doors not exposed
stakach Apr 4, 2022
33fa5d4
feat(staff-api): add utm_source and limit_override params for booking…
cacique-coder Apr 4, 2022
cdb219d
style: lint
w-le Apr 4, 2022
afd822b
chore(deps): bump actions/cache from 2 to 3.0.1 (#299)
dependabot[bot] Apr 4, 2022
d3bea5f
fix(kontakt/contact_tracing): use 6 hour windows
stakach Apr 5, 2022
84f89a9
feat(rhombus/security): make signature optional
stakach Apr 5, 2022
7ea2f38
chore(place/logic_example): add example failure
stakach Apr 5, 2022
e83fc42
feat(place/booking_check_in_helper): improve how ignored bookings are…
stakach Apr 6, 2022
4ae3be1
fix(extron/matrix): poll to maintain connection
stakach Apr 11, 2022
e515063
feat(place/staff_api): add edit and delete event logic
stakach Apr 11, 2022
69883d0
add fields to the user model (#302)
Apr 14, 2022
9dded7d
chore(deps): bump actions/cache from 3.0.1 to 3.0.2 (#303)
dependabot[bot] Apr 18, 2022
72efbef
chore(deps): bump actions/upload-artifact from 2 to 3 (#301)
dependabot[bot] Apr 18, 2022
07bcd1d
fix(floorsense/desks_websocket): obtain locker list when controller i…
stakach Apr 19, 2022
ed90b03
fix(floorsense/User): User.pin and .privacy types
Apr 20, 2022
a1c7f7e
feat(placeos/calendar): support MS Graph API scopes, for Delgated per…
w-le Apr 26, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
57 changes: 57 additions & 0 deletions .ameba.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
Excluded:
- repositories/**/*.cr

# NOTE: These should all be reviewed on an individual basis to see if their
# complexity can be reasonably reduced.
Metrics/CyclomaticComplexity:
Description: Disallows methods with a cyclomatic complexity higher than `MaxComplexity`
MaxComplexity: 10
Excluded:
- drivers/helvar/net.cr
- drivers/mulesoft/booking_api.cr
- drivers/samsung/displays/mdc_protocol.cr
- drivers/cisco/dna_spaces.cr
- drivers/cisco/meraki/dashboard.cr
- drivers/cisco/switch/snooping_catalyst.cr
- drivers/gantner/relaxx/protocol_json.cr
- drivers/place/bookings.cr
- drivers/place/area_management.cr
- drivers/place/smtp.cr
- drivers/hitachi/projector/cp_tw_series_basic.cr
- drivers/panasonic/projector/nt_control.cr
- drivers/lumens/dc193.cr
Enabled: false
Severity: Convention

Lint/UselessAssign:
Description: Disallows useless variable assignments
# NOTE: Not enabled due to the extremely large hit count.
# Discussion with driver authors on whether this pattern is intended.
Enabled: false
Severity: Warning

Style/VerboseBlock:
Description: Identifies usage of collapsible single expression blocks.
ExcludeCallsWithBlock: false
ExcludeMultipleLineBlocks: true
ExcludeOperators: false
ExcludePrefixOperators: false
ExcludeSetters: true
Enabled: false
Severity: Convention

Style/VariableNames:
Description: Enforces variable names to be in underscored case
# NOTE: Not enabled due to the extremely large hit count.
# Discussion with driver authors on whether this pattern is intended.
Enabled: false
Severity: Convention

# NOTE: These appear to be triggered by assignment in case expressions, could be an ameba bug
Lint/ShadowingOuterLocalVar:
Description: Disallows the usage of the same name as outer local variables for block
or proc arguments.
Excluded:
- drivers/cisco/switch/snooping_catalyst.cr
Enabled: true
Severity: Warning
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: Bug report
about: Create a report to help us improve
title: 'Bug: A concise description of the behaviour'
labels: bug
assignees: ''

---

**Describe the bug**

A clear and concise description of what the bug is.

**To Reproduce**

Steps to reproduce the behaviour or a minimal code snippet that demonstrates the behaviour.

**Expected behaviour**

A clear and concise description of what you expected to happen.

**Screenshots or a paste of terminal output**

If applicable, add screenshots to help explain your problem.

**Versions (please complete the following information):**

- Output of `$ crystal version`
- Driver version [e.g. 3.x]

**Additional context**

Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/driver_migration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Driver Migration
about: Migrate existing Ruby Engine Driver to Crystal
title: 'Driver Migration: Migrate existing Ruby driver'
labels: driver
assignees: ''

---

**Driver to be Migrated**

Information about the driver to be migrated.

**Link to Existing Driver**

Link to existing Driver on Ruby Drivers Repo.

**Additional context**

Add any other context about the problem here.
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/driver_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Driver Request
about: Request a new driver to be created
title: 'Driver Request: Information required to create a new driver'
labels: driver
assignees: ''

---

**Driver Type**

Logic/Device/SSH/Websocket

**Manufacturer**

Manufacturer of device, software or service

**Model/Service**

Model or Service

**Link to or Attach Device API or Protocol**

If applicable, add screenshots to help explain your problem.

**Describe any desired functionality**

- Control all aspects of device

**Additional context**

Add any other context about the driver request here.
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: Feature request
about: Suggest an idea for this project
title: 'RFC: Concise description of desired feature'
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**

A clear and concise description of what you want to happen.

**Describe alternatives you've considered**

A clear and concise description of any alternative solutions or features you've considered.

**Additional context**

Add any other context or screenshots about the feature request here.
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
98 changes: 98 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: CI

on:
push:
branches: [master]
pull_request:
branches: [master]
schedule:
- cron: "0 6 * * 1"

jobs:
style:
name: "Style"
runs-on: ubuntu-latest
container: crystallang/crystal
steps:
- uses: actions/checkout@v3
- name: Format
run: crystal tool format --check
- name: Lint
uses: crystal-ameba/github-action@v0.2.12
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Shards
run: shards install --ignore-crystal-version
- name: Docs
run: crystal docs

subset-report:
name: "Subset Report - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }}"
runs-on: ubuntu-latest
continue-on-error: ${{ !matrix.stable }}
strategy:
fail-fast: false
matrix:
stable: [true]
crystal:
- 1.0.0
- 1.1.1
include:
- stable: false
crystal: nightly
steps:
- id: changes
uses: trilom/file-changes-action@v1.2.4
with:
output: ' '
- uses: actions/checkout@v3
- name: Cache shards
uses: actions/cache@v3.0.2
with:
path: lib
key: ${{ hashFiles('shard.lock') }}
- name: Driver Report
# Skip subset report if dependencies have changed
if: ${{ !contains(steps.changes.outputs.files, 'shard.yml') && !contains(steps.changes.outputs.files, 'shard.lock') }}
run: ./harness report ${{ steps.changes.outputs.files }}
env:
CRYSTAL_VERSION: ${{ matrix.crystal }}
- name: Upload failure logs
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: logs-${{ matrix.crystal }}-${{ github.sha }}
path: .logs/*.log

full-report:
name: "Full Report - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }}"
needs: subset-report
runs-on: ubuntu-latest
continue-on-error: ${{ !matrix.stable }}
strategy:
fail-fast: false
matrix:
stable: [true]
crystal:
- 1.0.0
- 1.1.1
include:
- stable: false
crystal: nightly
steps:
- uses: actions/checkout@v3
- name: Cache shards
uses: actions/cache@v3.0.2
with:
path: lib
key: ${{ hashFiles('shard.lock') }}
- name: Driver Report
run: ./harness report
env:
CRYSTAL_VERSION: ${{ matrix.crystal }}
- name: Upload failure logs
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: logs-${{ matrix.crystal }}-${{ github.sha }}
path: .logs/*.log
14 changes: 11 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
doc
lib
*.dwarf
*.rdb
.DS_Store
.crystal
.shards
app
*.dwarf
bin
doc
docs
binaries
lib
.logs
repositories/*
src
File renamed without changes.
1 change: 0 additions & 1 deletion .travis.yml

This file was deleted.

16 changes: 16 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug",
"type": "gdb",
"request": "launch",
"target": "./bin/test-harness",
"cwd": "${workspaceRoot}",
"preLaunchTask": "Compile",
"setupCommands": [
{ "text": "-gdb-set follow-fork-mode child" }
]
}
]
}
10 changes: 10 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Compile",
"command": "shards build --debug drivers",
"type": "shell"
}
]
}
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2018 *YOUR COMPANY NAME HERE*
Copyright (c) 2021 Place Technology Limited.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading