rsmp 0.21.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3d74ffd79480198d71bde613b754e2ab6195e7e793ed7294f192752df001c528
4
- data.tar.gz: 417ff3b2692fae04709d688225b12b26fe1e69c189206855545a26b8e993f1c2
3
+ metadata.gz: 86e6971159c3de6157fdb7fd34884adc1a62aff9fee429798d7841b8c66be7cb
4
+ data.tar.gz: 2860409f7063b95317fb7bac60a12fdd50d0a48ae48cb97d888b452157ee9444
5
5
  SHA512:
6
- metadata.gz: 661ccaa898f510a89c039f5c678e2fa796ac8efb152c6c6d0945a89afcfb111013744fa0fd8bd341d7103e47ddc9da94f55e9211b2cda16a2ee94456b72e5e8a
7
- data.tar.gz: 2d2586aeec689c66fdb19d3548f1cf2f06131fadadab8a919cd894f9ca178d822b6522c7de72d235ecd35b919236ae42cf9b42c22287713bdd2a9dfd109eaf36
6
+ metadata.gz: ab3400ead4fe96f24ff033f48bf8c47a5eb1b7497ffff876232b5797a6b99ab73907469b2699d2159ad15d9a7c06b3c189c936e16dc1d693f31c513ccd91b984
7
+ data.tar.gz: 51b681148cad227590653ac1d7834e5d4375374c6d89228bdaa019896cb882560ca3b71c225d0db473bde05a8b34f7788078f02ab48c9a50d94f47cc6791df23
@@ -13,7 +13,7 @@ jobs:
13
13
  ruby: ['3.2']
14
14
  runs-on: ${{ matrix.os }}
15
15
  steps:
16
- - uses: actions/checkout@v2
16
+ - uses: actions/checkout@v3
17
17
  - uses: ruby/setup-ruby@v1
18
18
  with:
19
19
  ruby-version: ${{ matrix.ruby }}
data/Gemfile.lock CHANGED
@@ -1,11 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp (0.21.0)
5
- async (~> 2.6.2)
6
- async-io (~> 1.35.0)
4
+ rsmp (0.23.0)
5
+ async (~> 2.6.4)
6
+ async-io (~> 1.36.0)
7
7
  colorize (~> 0.8.1)
8
- rsmp_schema (~> 0.4.0)
8
+ rsmp_schema (~> 0.5)
9
9
  thor (~> 1.2.2)
10
10
 
11
11
  GEM
@@ -18,17 +18,17 @@ GEM
18
18
  cucumber (>= 4.0, < 9.0)
19
19
  rspec-expectations (~> 3.4)
20
20
  thor (~> 1.0)
21
- async (2.6.3)
21
+ async (2.6.4)
22
22
  console (~> 1.10)
23
23
  fiber-annotation
24
24
  io-event (~> 1.1)
25
25
  timers (~> 4.1)
26
- async-io (1.35.0)
26
+ async-io (1.36.0)
27
27
  async
28
28
  builder (3.2.4)
29
29
  childprocess (4.1.0)
30
30
  colorize (0.8.1)
31
- console (1.21.0)
31
+ console (1.23.2)
32
32
  fiber-annotation
33
33
  fiber-local
34
34
  contracts (0.17)
@@ -59,24 +59,24 @@ GEM
59
59
  diff-lcs (1.5.0)
60
60
  ecma-re-validator (0.4.0)
61
61
  regexp_parser (~> 2.2)
62
- ffi (1.15.5)
62
+ ffi (1.16.2)
63
63
  fiber-annotation (0.2.0)
64
64
  fiber-local (1.0.0)
65
65
  hana (1.3.7)
66
- io-event (1.2.3)
66
+ io-event (1.3.2)
67
67
  json_schemer (0.2.25)
68
68
  ecma-re-validator (~> 0.3)
69
69
  hana (~> 1.3)
70
70
  regexp_parser (~> 2.0)
71
71
  simpleidn (~> 0.2)
72
72
  uri_template (~> 0.7)
73
- mime-types (3.4.1)
73
+ mime-types (3.5.1)
74
74
  mime-types-data (~> 3.2015)
75
- mime-types-data (3.2023.0218.1)
75
+ mime-types-data (3.2023.0808)
76
76
  multi_test (1.1.0)
77
77
  rake (13.0.6)
78
78
  regexp_parser (2.8.1)
79
- rsmp_schema (0.4.5)
79
+ rsmp_schema (0.5)
80
80
  json_schemer (~> 0.2.21)
81
81
  thor (~> 1.2.1)
82
82
  rspec (3.12.0)
@@ -88,16 +88,16 @@ GEM
88
88
  rspec-expectations (3.12.3)
89
89
  diff-lcs (>= 1.2.0, < 2.0)
90
90
  rspec-support (~> 3.12.0)
91
- rspec-mocks (3.12.5)
91
+ rspec-mocks (3.12.6)
92
92
  diff-lcs (>= 1.2.0, < 2.0)
93
93
  rspec-support (~> 3.12.0)
94
- rspec-support (3.12.0)
94
+ rspec-support (3.12.1)
95
95
  simpleidn (0.2.1)
96
96
  unf (~> 0.1.4)
97
97
  sys-uname (1.2.3)
98
98
  ffi (~> 1.1)
99
99
  thor (1.2.2)
100
- timecop (0.9.6)
100
+ timecop (0.9.8)
101
101
  timers (4.3.5)
102
102
  unf (0.1.4)
103
103
  unf_ext
@@ -106,6 +106,7 @@ GEM
106
106
 
107
107
  PLATFORMS
108
108
  arm64-darwin-22
109
+ arm64-darwin-23
109
110
  x64-mingw-ucrt
110
111
  x64-mingw32
111
112
  x86_64-darwin-19
@@ -116,7 +117,7 @@ PLATFORMS
116
117
 
117
118
  DEPENDENCIES
118
119
  aruba (~> 2.1.0)
119
- bundler (~> 2.4.13)
120
+ bundler (~> 2.4.20)
120
121
  cucumber (~> 8.0.0)
121
122
  rake (~> 13.0.6)
122
123
  rsmp!
@@ -125,4 +126,4 @@ DEPENDENCIES
125
126
  timecop (~> 0.9.6)
126
127
 
127
128
  BUNDLED WITH
128
- 2.4.13
129
+ 2.4.20
data/config/tlc.yaml CHANGED
@@ -2,9 +2,9 @@ site_id: RN+SI0001
2
2
  supervisors:
3
3
  - ip: 127.0.0.1
4
4
  port: 12111
5
- core_versions: '3.2'
5
+ core_versions: '3.2.1'
6
6
  sxl: tlc
7
- sxl_version: '1.1'
7
+ sxl_version: '1.2'
8
8
  components:
9
9
  main:
10
10
  TC:
@@ -302,7 +302,7 @@ module RSMP
302
302
  end
303
303
 
304
304
  def rsmpify_value v
305
- return v if v.is_a? Array
305
+ return v if v.is_a?(Array) || v.is_a?(Set)
306
306
  v.to_s
307
307
  end
308
308
 
@@ -58,8 +58,8 @@ module RSMP
58
58
  @plan_source = 'startup'
59
59
  @intersection = 0
60
60
  @intersection_source = 'startup'
61
- @emergency_route = false
62
- @emergency_route_number = 0
61
+ @emergency_routes = Set.new
62
+ @last_emergency_route = nil
63
63
  @traffic_situation = 0
64
64
  @traffic_situation_source = 'startup'
65
65
  @day_time_table = {}
@@ -286,13 +286,22 @@ module RSMP
286
286
 
287
287
  def handle_m0005 arg, options={}
288
288
  @node.verify_security_code 2, arg['securityCode']
289
- @emergency_route = (arg['status'] == 'True')
290
- @emergency_route_number = arg['emergencyroute'].to_i
289
+ route = arg['emergencyroute'].to_i
290
+ enable = (arg['status'] == 'True')
291
+ @last_emergency_route = route
291
292
 
292
- if @emergency_route
293
- log "Switching to emergency route #{@emergency_route_number}", level: :info
293
+ if enable
294
+ if @emergency_routes.add? route
295
+ log "Enabling emergency route #{route}", level: :info
296
+ else
297
+ log "Emergency route #{route} already enabled", level: :info
298
+ end
294
299
  else
295
- log "Switching off emergency route", level: :info
300
+ if @emergency_routes.delete? route
301
+ log "Disabling emergency route #{route}", level: :info
302
+ else
303
+ log "Emergency route #{route} already disabled", level: :info
304
+ end
296
305
  end
297
306
  end
298
307
 
@@ -604,7 +613,7 @@ module RSMP
604
613
  'S0008', 'S0009', 'S0010', 'S0011', 'S0012', 'S0013', 'S0014',
605
614
  'S0015', 'S0016', 'S0017', 'S0018', 'S0019', 'S0020', 'S0021',
606
615
  'S0022', 'S0023', 'S0024', 'S0026', 'S0027', 'S0028',
607
- 'S0029', 'S0030', 'S0031', 'S0032', 'S0033',
616
+ 'S0029', 'S0030', 'S0031', 'S0032', 'S0033', 'S0035',
608
617
  'S0091', 'S0092', 'S0095', 'S0096', 'S0097',
609
618
  'S0205', 'S0206', 'S0207', 'S0208'
610
619
  return send("handle_#{code.downcase}", code, name, options)
@@ -661,9 +670,17 @@ module RSMP
661
670
  def handle_s0006 status_code, status_name=nil, options={}
662
671
  case status_name
663
672
  when 'status'
664
- TrafficControllerSite.make_status @emergency_route
673
+ TrafficControllerSite.make_status @emergency_routes.include?(@last_emergency_route)
665
674
  when 'emergencystage'
666
- TrafficControllerSite.make_status @emergency_route_number
675
+ TrafficControllerSite.make_status @last_emergency_route || 0
676
+ end
677
+ end
678
+
679
+ def handle_s0035 status_code, status_name=nil, options={}
680
+ case status_name
681
+ when 'emergencyroutes'
682
+ list = @emergency_routes.sort.map {|route| {'id'=>route.to_s}}
683
+ TrafficControllerSite.make_status list
667
684
  end
668
685
  end
669
686
 
data/lib/rsmp/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RSMP
2
- VERSION = "0.21.0"
2
+ VERSION = "0.23.0"
3
3
  end
data/rsmp.gemspec CHANGED
@@ -30,13 +30,13 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
- spec.add_dependency "async", "~> 2.6.2"
34
- spec.add_dependency "async-io", "~> 1.35.0"
33
+ spec.add_dependency "async", "~> 2.6.4"
34
+ spec.add_dependency "async-io", "~> 1.36.0"
35
35
  spec.add_dependency "colorize", "~> 0.8.1"
36
36
  spec.add_dependency "thor", "~> 1.2.2"
37
- spec.add_dependency "rsmp_schema", "~> 0.4.0"
37
+ spec.add_dependency "rsmp_schema", "~> 0.5"
38
38
 
39
- spec.add_development_dependency "bundler", "~> 2.4.13"
39
+ spec.add_development_dependency "bundler", "~> 2.4.20"
40
40
  spec.add_development_dependency "rake", "~> 13.0.6"
41
41
  spec.add_development_dependency "rspec", "~> 3.12.0"
42
42
  spec.add_development_dependency "rspec-expectations", "~> 3.12.2"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsmp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.0
4
+ version: 0.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emil Tin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-08-07 00:00:00.000000000 Z
11
+ date: 2023-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.6.2
19
+ version: 2.6.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.6.2
26
+ version: 2.6.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: async-io
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.35.0
33
+ version: 1.36.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.35.0
40
+ version: 1.36.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: colorize
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -72,28 +72,28 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.4.0
75
+ version: '0.5'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.4.0
82
+ version: '0.5'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 2.4.13
89
+ version: 2.4.20
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 2.4.13
96
+ version: 2.4.20
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rake
99
99
  requirement: !ruby/object:Gem::Requirement