rsmp 0.21.0 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
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