atc-tools 1.0.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.
Files changed (60) hide show
  1. checksums.yaml +7 -0
  2. data/bin/fpv +3 -0
  3. data/doc/ATCTools.html +133 -0
  4. data/doc/ATCTools/Aircraft.html +309 -0
  5. data/doc/ATCTools/Airport.html +634 -0
  6. data/doc/ATCTools/FlightPlan.html +544 -0
  7. data/doc/ATCTools/FlightPlanValidator.html +265 -0
  8. data/doc/ATCTools/HeadingDiscoveryError.html +135 -0
  9. data/doc/ATCTools/HeadingError.html +135 -0
  10. data/doc/ATCTools/NameDiscoveryError.html +135 -0
  11. data/doc/ATCTools/NoAircraftSelectedError.html +135 -0
  12. data/doc/ATCTools/VRC.html +656 -0
  13. data/doc/Aircraft.html +127 -0
  14. data/doc/Airport.html +564 -0
  15. data/doc/FlightPlan.html +127 -0
  16. data/doc/HeadingError.html +127 -0
  17. data/doc/NameDiscoveryError.html +127 -0
  18. data/doc/created.rid +7 -0
  19. data/doc/images/add.png +0 -0
  20. data/doc/images/arrow_up.png +0 -0
  21. data/doc/images/brick.png +0 -0
  22. data/doc/images/brick_link.png +0 -0
  23. data/doc/images/bug.png +0 -0
  24. data/doc/images/bullet_black.png +0 -0
  25. data/doc/images/bullet_toggle_minus.png +0 -0
  26. data/doc/images/bullet_toggle_plus.png +0 -0
  27. data/doc/images/date.png +0 -0
  28. data/doc/images/delete.png +0 -0
  29. data/doc/images/find.png +0 -0
  30. data/doc/images/loadingAnimation.gif +0 -0
  31. data/doc/images/macFFBgHack.png +0 -0
  32. data/doc/images/package.png +0 -0
  33. data/doc/images/page_green.png +0 -0
  34. data/doc/images/page_white_text.png +0 -0
  35. data/doc/images/page_white_width.png +0 -0
  36. data/doc/images/plugin.png +0 -0
  37. data/doc/images/ruby.png +0 -0
  38. data/doc/images/tag_blue.png +0 -0
  39. data/doc/images/tag_green.png +0 -0
  40. data/doc/images/transparent.png +0 -0
  41. data/doc/images/wrench.png +0 -0
  42. data/doc/images/wrench_orange.png +0 -0
  43. data/doc/images/zoom.png +0 -0
  44. data/doc/index.html +87 -0
  45. data/doc/js/darkfish.js +155 -0
  46. data/doc/js/jquery.js +18 -0
  47. data/doc/js/navigation.js +142 -0
  48. data/doc/js/search.js +94 -0
  49. data/doc/js/search_index.js +1 -0
  50. data/doc/js/searcher.js +228 -0
  51. data/doc/rdoc.css +595 -0
  52. data/doc/table_of_contents.html +132 -0
  53. data/lib/atc-tools.rb +1 -0
  54. data/lib/atc-tools/aircraft.rb +36 -0
  55. data/lib/atc-tools/airport.rb +103 -0
  56. data/lib/atc-tools/flight_plan.rb +119 -0
  57. data/lib/atc-tools/script/flight_plan_validator.rb +65 -0
  58. data/lib/atc-tools/vrc.rb +165 -0
  59. data/license.txt +19 -0
  60. metadata +174 -0
@@ -0,0 +1,135 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>class ATCTools::NameDiscoveryError - RDoc Documentation</title>
8
+
9
+ <link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet">
10
+
11
+ <script type="text/javascript">
12
+ var rdoc_rel_prefix = "../";
13
+ </script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
16
+ <script type="text/javascript" charset="utf-8" src="../js/navigation.js"></script>
17
+ <script type="text/javascript" charset="utf-8" src="../js/search_index.js"></script>
18
+ <script type="text/javascript" charset="utf-8" src="../js/search.js"></script>
19
+ <script type="text/javascript" charset="utf-8" src="../js/searcher.js"></script>
20
+ <script type="text/javascript" charset="utf-8" src="../js/darkfish.js"></script>
21
+
22
+
23
+ <body id="top" class="class">
24
+ <nav id="metadata">
25
+ <nav id="home-section" class="section">
26
+ <h3 class="section-header">
27
+ <a href="../index.html">Home</a>
28
+ <a href="../table_of_contents.html#classes">Classes</a>
29
+ <a href="../table_of_contents.html#methods">Methods</a>
30
+ </h3>
31
+ </nav>
32
+
33
+
34
+ <nav id="search-section" class="section project-section" class="initially-hidden">
35
+ <form action="#" method="get" accept-charset="utf-8">
36
+ <h3 class="section-header">
37
+ <input type="text" name="search" placeholder="Search" id="search-field"
38
+ title="Type to search, Up and Down to navigate, Enter to load">
39
+ </h3>
40
+ </form>
41
+
42
+ <ul id="search-results" class="initially-hidden"></ul>
43
+ </nav>
44
+
45
+
46
+
47
+
48
+ <div id="file-metadata">
49
+ <nav id="file-list-section" class="section">
50
+ <h3 class="section-header">Defined In</h3>
51
+ <ul>
52
+ <li>lib/atc-tools/airport.rb
53
+ </ul>
54
+ </nav>
55
+
56
+
57
+ </div>
58
+
59
+ <div id="class-metadata">
60
+
61
+ <nav id="parent-class-section" class="section">
62
+ <h3 class="section-header">Parent</h3>
63
+
64
+ <p class="link">StandardError
65
+
66
+ </nav>
67
+
68
+
69
+
70
+
71
+ </div>
72
+
73
+ <div id="project-metadata">
74
+
75
+ <nav id="classindex-section" class="section project-section">
76
+ <h3 class="section-header">Class and Module Index</h3>
77
+
78
+ <ul class="link-list">
79
+
80
+ <li><a href="../ATCTools.html">ATCTools</a>
81
+
82
+ <li><a href="../ATCTools/Aircraft.html">ATCTools::Aircraft</a>
83
+
84
+ <li><a href="../ATCTools/Airport.html">ATCTools::Airport</a>
85
+
86
+ <li><a href="../ATCTools/FlightPlan.html">ATCTools::FlightPlan</a>
87
+
88
+ <li><a href="../ATCTools/FlightPlanValidator.html">ATCTools::FlightPlanValidator</a>
89
+
90
+ <li><a href="../ATCTools/HeadingDiscoveryError.html">ATCTools::HeadingDiscoveryError</a>
91
+
92
+ <li><a href="../ATCTools/NameDiscoveryError.html">ATCTools::NameDiscoveryError</a>
93
+
94
+ <li><a href="../ATCTools/NoAircraftSelectedError.html">ATCTools::NoAircraftSelectedError</a>
95
+
96
+ <li><a href="../ATCTools/VRC.html">ATCTools::VRC</a>
97
+
98
+ </ul>
99
+ </nav>
100
+
101
+ </div>
102
+ </nav>
103
+
104
+ <div id="documentation">
105
+ <h1 class="class">class ATCTools::NameDiscoveryError</h1>
106
+
107
+ <div id="description" class="description">
108
+
109
+ </div><!-- description -->
110
+
111
+
112
+
113
+
114
+ <section id="5Buntitled-5D" class="documentation-section">
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+ <!-- Methods -->
124
+
125
+ </section><!-- 5Buntitled-5D -->
126
+
127
+ </div><!-- documentation -->
128
+
129
+
130
+ <footer id="validator-badges">
131
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
132
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 4.0.1.
133
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
134
+ </footer>
135
+
@@ -0,0 +1,135 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>class ATCTools::NoAircraftSelectedError - RDoc Documentation</title>
8
+
9
+ <link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet">
10
+
11
+ <script type="text/javascript">
12
+ var rdoc_rel_prefix = "../";
13
+ </script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
16
+ <script type="text/javascript" charset="utf-8" src="../js/navigation.js"></script>
17
+ <script type="text/javascript" charset="utf-8" src="../js/search_index.js"></script>
18
+ <script type="text/javascript" charset="utf-8" src="../js/search.js"></script>
19
+ <script type="text/javascript" charset="utf-8" src="../js/searcher.js"></script>
20
+ <script type="text/javascript" charset="utf-8" src="../js/darkfish.js"></script>
21
+
22
+
23
+ <body id="top" class="class">
24
+ <nav id="metadata">
25
+ <nav id="home-section" class="section">
26
+ <h3 class="section-header">
27
+ <a href="../index.html">Home</a>
28
+ <a href="../table_of_contents.html#classes">Classes</a>
29
+ <a href="../table_of_contents.html#methods">Methods</a>
30
+ </h3>
31
+ </nav>
32
+
33
+
34
+ <nav id="search-section" class="section project-section" class="initially-hidden">
35
+ <form action="#" method="get" accept-charset="utf-8">
36
+ <h3 class="section-header">
37
+ <input type="text" name="search" placeholder="Search" id="search-field"
38
+ title="Type to search, Up and Down to navigate, Enter to load">
39
+ </h3>
40
+ </form>
41
+
42
+ <ul id="search-results" class="initially-hidden"></ul>
43
+ </nav>
44
+
45
+
46
+
47
+
48
+ <div id="file-metadata">
49
+ <nav id="file-list-section" class="section">
50
+ <h3 class="section-header">Defined In</h3>
51
+ <ul>
52
+ <li>lib/atc-tools/vrc.rb
53
+ </ul>
54
+ </nav>
55
+
56
+
57
+ </div>
58
+
59
+ <div id="class-metadata">
60
+
61
+ <nav id="parent-class-section" class="section">
62
+ <h3 class="section-header">Parent</h3>
63
+
64
+ <p class="link">StandardError
65
+
66
+ </nav>
67
+
68
+
69
+
70
+
71
+ </div>
72
+
73
+ <div id="project-metadata">
74
+
75
+ <nav id="classindex-section" class="section project-section">
76
+ <h3 class="section-header">Class and Module Index</h3>
77
+
78
+ <ul class="link-list">
79
+
80
+ <li><a href="../ATCTools.html">ATCTools</a>
81
+
82
+ <li><a href="../ATCTools/Aircraft.html">ATCTools::Aircraft</a>
83
+
84
+ <li><a href="../ATCTools/Airport.html">ATCTools::Airport</a>
85
+
86
+ <li><a href="../ATCTools/FlightPlan.html">ATCTools::FlightPlan</a>
87
+
88
+ <li><a href="../ATCTools/FlightPlanValidator.html">ATCTools::FlightPlanValidator</a>
89
+
90
+ <li><a href="../ATCTools/HeadingDiscoveryError.html">ATCTools::HeadingDiscoveryError</a>
91
+
92
+ <li><a href="../ATCTools/NameDiscoveryError.html">ATCTools::NameDiscoveryError</a>
93
+
94
+ <li><a href="../ATCTools/NoAircraftSelectedError.html">ATCTools::NoAircraftSelectedError</a>
95
+
96
+ <li><a href="../ATCTools/VRC.html">ATCTools::VRC</a>
97
+
98
+ </ul>
99
+ </nav>
100
+
101
+ </div>
102
+ </nav>
103
+
104
+ <div id="documentation">
105
+ <h1 class="class">class ATCTools::NoAircraftSelectedError</h1>
106
+
107
+ <div id="description" class="description">
108
+
109
+ </div><!-- description -->
110
+
111
+
112
+
113
+
114
+ <section id="5Buntitled-5D" class="documentation-section">
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+ <!-- Methods -->
124
+
125
+ </section><!-- 5Buntitled-5D -->
126
+
127
+ </div><!-- documentation -->
128
+
129
+
130
+ <footer id="validator-badges">
131
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
132
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 4.0.1.
133
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
134
+ </footer>
135
+
@@ -0,0 +1,656 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>class ATCTools::VRC - RDoc Documentation</title>
8
+
9
+ <link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet">
10
+
11
+ <script type="text/javascript">
12
+ var rdoc_rel_prefix = "../";
13
+ </script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
16
+ <script type="text/javascript" charset="utf-8" src="../js/navigation.js"></script>
17
+ <script type="text/javascript" charset="utf-8" src="../js/search_index.js"></script>
18
+ <script type="text/javascript" charset="utf-8" src="../js/search.js"></script>
19
+ <script type="text/javascript" charset="utf-8" src="../js/searcher.js"></script>
20
+ <script type="text/javascript" charset="utf-8" src="../js/darkfish.js"></script>
21
+
22
+
23
+ <body id="top" class="class">
24
+ <nav id="metadata">
25
+ <nav id="home-section" class="section">
26
+ <h3 class="section-header">
27
+ <a href="../index.html">Home</a>
28
+ <a href="../table_of_contents.html#classes">Classes</a>
29
+ <a href="../table_of_contents.html#methods">Methods</a>
30
+ </h3>
31
+ </nav>
32
+
33
+
34
+ <nav id="search-section" class="section project-section" class="initially-hidden">
35
+ <form action="#" method="get" accept-charset="utf-8">
36
+ <h3 class="section-header">
37
+ <input type="text" name="search" placeholder="Search" id="search-field"
38
+ title="Type to search, Up and Down to navigate, Enter to load">
39
+ </h3>
40
+ </form>
41
+
42
+ <ul id="search-results" class="initially-hidden"></ul>
43
+ </nav>
44
+
45
+
46
+
47
+
48
+ <div id="file-metadata">
49
+ <nav id="file-list-section" class="section">
50
+ <h3 class="section-header">Defined In</h3>
51
+ <ul>
52
+ <li>lib/atc-tools/vrc.rb
53
+ </ul>
54
+ </nav>
55
+
56
+
57
+ </div>
58
+
59
+ <div id="class-metadata">
60
+
61
+ <nav id="parent-class-section" class="section">
62
+ <h3 class="section-header">Parent</h3>
63
+
64
+ <p class="link">Object
65
+
66
+ </nav>
67
+
68
+
69
+
70
+ <!-- Method Quickref -->
71
+ <nav id="method-list-section" class="section">
72
+ <h3 class="section-header">Methods</h3>
73
+
74
+ <ul class="link-list">
75
+
76
+ <li ><a href="#method-c-new">::new</a>
77
+
78
+ <li ><a href="#method-i-activate_terminal_window-21">#activate_terminal_window!</a>
79
+
80
+ <li ><a href="#method-i-activate_vrc_window-21">#activate_vrc_window!</a>
81
+
82
+ <li ><a href="#method-i-aircraft_selected-3F">#aircraft_selected?</a>
83
+
84
+ <li ><a href="#method-i-command_line">#command_line</a>
85
+
86
+ <li ><a href="#method-i-execute_command">#execute_command</a>
87
+
88
+ <li ><a href="#method-i-execute_command-21">#execute_command!</a>
89
+
90
+ <li ><a href="#method-i-flight_plan_title">#flight_plan_title</a>
91
+
92
+ <li ><a href="#method-i-selected_aircraft">#selected_aircraft</a>
93
+
94
+ <li ><a href="#method-i-selected_aircraft_info-21">#selected_aircraft_info!</a>
95
+
96
+ <li ><a href="#method-i-selected_flight_plan-21">#selected_flight_plan!</a>
97
+
98
+ </ul>
99
+ </nav>
100
+
101
+ </div>
102
+
103
+ <div id="project-metadata">
104
+
105
+ <nav id="classindex-section" class="section project-section">
106
+ <h3 class="section-header">Class and Module Index</h3>
107
+
108
+ <ul class="link-list">
109
+
110
+ <li><a href="../ATCTools.html">ATCTools</a>
111
+
112
+ <li><a href="../ATCTools/Aircraft.html">ATCTools::Aircraft</a>
113
+
114
+ <li><a href="../ATCTools/Airport.html">ATCTools::Airport</a>
115
+
116
+ <li><a href="../ATCTools/FlightPlan.html">ATCTools::FlightPlan</a>
117
+
118
+ <li><a href="../ATCTools/FlightPlanValidator.html">ATCTools::FlightPlanValidator</a>
119
+
120
+ <li><a href="../ATCTools/HeadingDiscoveryError.html">ATCTools::HeadingDiscoveryError</a>
121
+
122
+ <li><a href="../ATCTools/NameDiscoveryError.html">ATCTools::NameDiscoveryError</a>
123
+
124
+ <li><a href="../ATCTools/NoAircraftSelectedError.html">ATCTools::NoAircraftSelectedError</a>
125
+
126
+ <li><a href="../ATCTools/VRC.html">ATCTools::VRC</a>
127
+
128
+ </ul>
129
+ </nav>
130
+
131
+ </div>
132
+ </nav>
133
+
134
+ <div id="documentation">
135
+ <h1 class="class">class ATCTools::VRC</h1>
136
+
137
+ <div id="description" class="description">
138
+
139
+ <p>A class for interfacing with the Virtual Radar Client application. <a
140
+ href="http://www1.metacraft.com/VRC">www1.metacraft.com/VRC</a>/</p>
141
+
142
+ <p>Methods with a bang (!) at the end manipulate the window and could affect
143
+ the user.</p>
144
+
145
+ </div><!-- description -->
146
+
147
+
148
+
149
+
150
+ <section id="5Buntitled-5D" class="documentation-section">
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+ <!-- Attributes -->
159
+ <section id="attribute-method-details" class="method-section section">
160
+ <h3 class="section-header">Attributes</h3>
161
+
162
+
163
+ <div id="attribute-i-aclog_path" class="method-detail">
164
+ <div class="method-heading attribute-method-heading">
165
+ <span class="method-name">aclog_path</span><span
166
+ class="attribute-access-type">[RW]</span>
167
+ </div>
168
+
169
+ <div class="method-description">
170
+
171
+ <p><a href="VRC.html">VRC</a> log path for exporting aircraft info.</p>
172
+
173
+ </div>
174
+ </div>
175
+
176
+ </section><!-- attribute-method-details -->
177
+
178
+
179
+ <!-- Methods -->
180
+
181
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
182
+ <h3 class="section-header">Public Class Methods</h3>
183
+
184
+
185
+ <div id="method-c-new" class="method-detail ">
186
+
187
+ <div class="method-heading">
188
+ <span class="method-name">new</span><span
189
+ class="method-args">(**kvargs)</span>
190
+
191
+ <span class="method-click-advice">click to toggle source</span>
192
+
193
+ </div>
194
+
195
+
196
+ <div class="method-description">
197
+
198
+ <p>Params:</p>
199
+
200
+ <pre>:aclog_path - Location of the VRC log dump for the aircraft info query.</pre>
201
+
202
+
203
+
204
+
205
+ <div class="method-source-code" id="new-source">
206
+ <pre><span class="ruby-comment"># File lib/atc-tools/vrc.rb, line 19</span>
207
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-operator">**</span><span class="ruby-identifier">kvargs</span>)
208
+ <span class="ruby-ivar">@aclog_path</span> = <span class="ruby-identifier">kvargs</span>.<span class="ruby-identifier">fetch</span> <span class="ruby-value">:aclog_path</span>, <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-string">&#39;Documents/VRC/acinfo.txt&#39;</span>, <span class="ruby-string">&#39;~&#39;</span>)
209
+
210
+ <span class="ruby-ivar">@selected_aircraft</span> = <span class="ruby-string">&#39;&#39;</span>
211
+
212
+ <span class="ruby-comment">#Window handles.</span>
213
+ <span class="ruby-ivar">@vrc_win</span> = <span class="ruby-constant">RAutomation</span><span class="ruby-operator">::</span><span class="ruby-constant">Window</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">title</span><span class="ruby-operator">:</span> <span class="ruby-regexp">/VRC.*Connected to server:/</span>
214
+ <span class="ruby-ivar">@flight_plan_win</span> = <span class="ruby-constant">RAutomation</span><span class="ruby-operator">::</span><span class="ruby-constant">Window</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">title</span><span class="ruby-operator">:</span> <span class="ruby-regexp">/Flight Plan - /</span>
215
+ <span class="ruby-ivar">@terminal_win</span> = <span class="ruby-constant">RAutomation</span><span class="ruby-operator">::</span><span class="ruby-constant">Window</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">title</span><span class="ruby-operator">:</span> <span class="ruby-regexp">/\cmd.exe/</span>
216
+
217
+ <span class="ruby-ivar">@command_win</span> = <span class="ruby-ivar">@vrc_win</span>.<span class="ruby-identifier">text_fields</span>[<span class="ruby-value">0</span>]
218
+ <span class="ruby-ivar">@callsign_win</span> = <span class="ruby-ivar">@vrc_win</span>.<span class="ruby-identifier">text_fields</span>[<span class="ruby-value">1</span>]
219
+ <span class="ruby-keyword">end</span></pre>
220
+ </div><!-- new-source -->
221
+
222
+ </div>
223
+
224
+
225
+
226
+
227
+ </div><!-- new-method -->
228
+
229
+
230
+ </section><!-- public-class-method-details -->
231
+
232
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
233
+ <h3 class="section-header">Public Instance Methods</h3>
234
+
235
+
236
+ <div id="method-i-activate_terminal_window-21" class="method-detail ">
237
+
238
+ <div class="method-heading">
239
+ <span class="method-name">activate_terminal_window!</span><span
240
+ class="method-args">()</span>
241
+
242
+ <span class="method-click-advice">click to toggle source</span>
243
+
244
+ </div>
245
+
246
+
247
+ <div class="method-description">
248
+
249
+ <p>Activate the terminal (command line) window, bringing it to the foreground.</p>
250
+
251
+
252
+
253
+
254
+ <div class="method-source-code" id="activate_terminal_window-21-source">
255
+ <pre><span class="ruby-comment"># File lib/atc-tools/vrc.rb, line 160</span>
256
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">activate_terminal_window!</span>
257
+ <span class="ruby-ivar">@terminal_win</span>.<span class="ruby-identifier">activate</span>
258
+ <span class="ruby-keyword">end</span></pre>
259
+ </div><!-- activate_terminal_window-21-source -->
260
+
261
+ </div>
262
+
263
+
264
+
265
+
266
+ </div><!-- activate_terminal_window-21-method -->
267
+
268
+
269
+ <div id="method-i-activate_vrc_window-21" class="method-detail ">
270
+
271
+ <div class="method-heading">
272
+ <span class="method-name">activate_vrc_window!</span><span
273
+ class="method-args">()</span>
274
+
275
+ <span class="method-click-advice">click to toggle source</span>
276
+
277
+ </div>
278
+
279
+
280
+ <div class="method-description">
281
+
282
+ <p>Activate the <a href="VRC.html">VRC</a> window, bringing it to the
283
+ foreground.</p>
284
+
285
+
286
+
287
+
288
+ <div class="method-source-code" id="activate_vrc_window-21-source">
289
+ <pre><span class="ruby-comment"># File lib/atc-tools/vrc.rb, line 154</span>
290
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">activate_vrc_window!</span>
291
+ <span class="ruby-ivar">@vrc_win</span>.<span class="ruby-identifier">activate</span>
292
+ <span class="ruby-keyword">end</span></pre>
293
+ </div><!-- activate_vrc_window-21-source -->
294
+
295
+ </div>
296
+
297
+
298
+
299
+
300
+ </div><!-- activate_vrc_window-21-method -->
301
+
302
+
303
+ <div id="method-i-aircraft_selected-3F" class="method-detail ">
304
+
305
+ <div class="method-heading">
306
+ <span class="method-name">aircraft_selected?</span><span
307
+ class="method-args">()</span>
308
+
309
+ <span class="method-click-advice">click to toggle source</span>
310
+
311
+ </div>
312
+
313
+
314
+ <div class="method-description">
315
+
316
+ <p>True if an aircraft is selected.</p>
317
+
318
+
319
+
320
+
321
+ <div class="method-source-code" id="aircraft_selected-3F-source">
322
+ <pre><span class="ruby-comment"># File lib/atc-tools/vrc.rb, line 71</span>
323
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">aircraft_selected?</span>
324
+ <span class="ruby-identifier">selection_empty</span> = <span class="ruby-identifier">selected_aircraft</span>.<span class="ruby-identifier">empty?</span>
325
+ <span class="ruby-ivar">@selected_aircraft</span> = <span class="ruby-string">&#39;&#39;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">selection_empty</span>
326
+ <span class="ruby-keyword">not</span> <span class="ruby-identifier">selection_empty</span>
327
+ <span class="ruby-keyword">end</span></pre>
328
+ </div><!-- aircraft_selected-3F-source -->
329
+
330
+ </div>
331
+
332
+
333
+
334
+
335
+ </div><!-- aircraft_selected-3F-method -->
336
+
337
+
338
+ <div id="method-i-command_line" class="method-detail ">
339
+
340
+ <div class="method-heading">
341
+ <span class="method-name">command_line</span><span
342
+ class="method-args">()</span>
343
+
344
+ <span class="method-click-advice">click to toggle source</span>
345
+
346
+ </div>
347
+
348
+
349
+ <div class="method-description">
350
+
351
+ <p>Extract the text from the command line.</p>
352
+
353
+
354
+
355
+
356
+ <div class="method-source-code" id="command_line-source">
357
+ <pre><span class="ruby-comment"># File lib/atc-tools/vrc.rb, line 134</span>
358
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">command_line</span>
359
+ <span class="ruby-ivar">@command_win</span>.<span class="ruby-identifier">value</span>
360
+ <span class="ruby-keyword">end</span></pre>
361
+ </div><!-- command_line-source -->
362
+
363
+ </div>
364
+
365
+
366
+
367
+
368
+ </div><!-- command_line-method -->
369
+
370
+
371
+ <div id="method-i-execute_command" class="method-detail ">
372
+
373
+ <div class="method-heading">
374
+ <span class="method-name">execute_command</span><span
375
+ class="method-args">(cmd)</span>
376
+
377
+ <span class="method-click-advice">click to toggle source</span>
378
+
379
+ </div>
380
+
381
+
382
+ <div class="method-description">
383
+
384
+ <p>Execute a command in the <a href="VRC.html">VRC</a> client. Preserves
385
+ partially-entered commands in the text box.</p>
386
+
387
+
388
+
389
+
390
+ <div class="method-source-code" id="execute_command-source">
391
+ <pre><span class="ruby-comment"># File lib/atc-tools/vrc.rb, line 140</span>
392
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">execute_command</span>(<span class="ruby-identifier">cmd</span>)
393
+ <span class="ruby-identifier">old_cmd</span> = <span class="ruby-identifier">command_line</span>
394
+ <span class="ruby-identifier">execute_command!</span> <span class="ruby-identifier">cmd</span>
395
+ <span class="ruby-ivar">@command_win</span>.<span class="ruby-identifier">set</span> <span class="ruby-identifier">old_cmd</span>
396
+ <span class="ruby-keyword">end</span></pre>
397
+ </div><!-- execute_command-source -->
398
+
399
+ </div>
400
+
401
+
402
+
403
+
404
+ </div><!-- execute_command-method -->
405
+
406
+
407
+ <div id="method-i-execute_command-21" class="method-detail ">
408
+
409
+ <div class="method-heading">
410
+ <span class="method-name">execute_command!</span><span
411
+ class="method-args">(cmd)</span>
412
+
413
+ <span class="method-click-advice">click to toggle source</span>
414
+
415
+ </div>
416
+
417
+
418
+ <div class="method-description">
419
+
420
+ <p>Execute a command in the <a href="VRC.html">VRC</a> client, overwriting any
421
+ partially-entered command in the text box.</p>
422
+
423
+
424
+
425
+
426
+ <div class="method-source-code" id="execute_command-21-source">
427
+ <pre><span class="ruby-comment"># File lib/atc-tools/vrc.rb, line 148</span>
428
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">execute_command!</span>(<span class="ruby-identifier">cmd</span>)
429
+ <span class="ruby-ivar">@command_win</span>.<span class="ruby-identifier">set</span> <span class="ruby-identifier">cmd</span>
430
+ <span class="ruby-ivar">@command_win</span>.<span class="ruby-identifier">send_keys</span> <span class="ruby-value">:return</span>
431
+ <span class="ruby-keyword">end</span></pre>
432
+ </div><!-- execute_command-21-source -->
433
+
434
+ </div>
435
+
436
+
437
+
438
+
439
+ </div><!-- execute_command-21-method -->
440
+
441
+
442
+ <div id="method-i-flight_plan_title" class="method-detail ">
443
+
444
+ <div class="method-heading">
445
+ <span class="method-name">flight_plan_title</span><span
446
+ class="method-args">()</span>
447
+
448
+ <span class="method-click-advice">click to toggle source</span>
449
+
450
+ </div>
451
+
452
+
453
+ <div class="method-description">
454
+
455
+ <p>Title of the <a href="VRC.html">VRC</a> flight plan window. This includes
456
+ the pilot&#39;s callsign and real name.</p>
457
+
458
+
459
+
460
+
461
+ <div class="method-source-code" id="flight_plan_title-source">
462
+ <pre><span class="ruby-comment"># File lib/atc-tools/vrc.rb, line 35</span>
463
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">flight_plan_title</span>
464
+ <span class="ruby-ivar">@flight_plan_win</span>.<span class="ruby-identifier">title</span>
465
+ <span class="ruby-keyword">end</span></pre>
466
+ </div><!-- flight_plan_title-source -->
467
+
468
+ </div>
469
+
470
+
471
+
472
+
473
+ </div><!-- flight_plan_title-method -->
474
+
475
+
476
+ <div id="method-i-selected_aircraft" class="method-detail ">
477
+
478
+ <div class="method-heading">
479
+ <span class="method-name">selected_aircraft</span><span
480
+ class="method-args">()</span>
481
+
482
+ <span class="method-click-advice">click to toggle source</span>
483
+
484
+ </div>
485
+
486
+
487
+ <div class="method-description">
488
+
489
+ <p>Extracts the callsign of the selected aircraft. Returns an empty string if
490
+ no aircraft is selected.</p>
491
+
492
+
493
+
494
+
495
+ <div class="method-source-code" id="selected_aircraft-source">
496
+ <pre><span class="ruby-comment"># File lib/atc-tools/vrc.rb, line 66</span>
497
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">selected_aircraft</span>
498
+ <span class="ruby-ivar">@selected_aircraft</span> = <span class="ruby-ivar">@callsign_win</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">strip</span>
499
+ <span class="ruby-keyword">end</span></pre>
500
+ </div><!-- selected_aircraft-source -->
501
+
502
+ </div>
503
+
504
+
505
+
506
+
507
+ </div><!-- selected_aircraft-method -->
508
+
509
+
510
+ <div id="method-i-selected_aircraft_info-21" class="method-detail ">
511
+
512
+ <div class="method-heading">
513
+ <span class="method-name">selected_aircraft_info!</span><span
514
+ class="method-args">()</span>
515
+
516
+ <span class="method-click-advice">click to toggle source</span>
517
+
518
+ </div>
519
+
520
+
521
+ <div class="method-description">
522
+
523
+ <p>Extracts the aircraft info for the selected aircraft.</p>
524
+
525
+
526
+
527
+
528
+ <div class="method-source-code" id="selected_aircraft_info-21-source">
529
+ <pre><span class="ruby-comment"># File lib/atc-tools/vrc.rb, line 78</span>
530
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">selected_aircraft_info!</span>
531
+ <span class="ruby-comment"># --------------------------------------------------------------------------</span>
532
+ <span class="ruby-comment"># TODO: Prompt for an aircraft model as the input and use .typeinfo instead.</span>
533
+ <span class="ruby-comment"># This way it can return info for cached aircraft.</span>
534
+ <span class="ruby-comment"># --------------------------------------------------------------------------</span>
535
+
536
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ATCTools</span><span class="ruby-operator">::</span><span class="ruby-constant">NoAircraftSelectedError</span>, <span class="ruby-string">&quot;No aircraft selected.&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">aircraft_selected?</span>
537
+
538
+ <span class="ruby-comment"># ---------------------------</span>
539
+ <span class="ruby-comment"># TODO: </span>
540
+ <span class="ruby-comment"># ---------------------------</span>
541
+
542
+ <span class="ruby-comment"># Retrieve the aircraft info.</span>
543
+ <span class="ruby-identifier">execute_command</span> <span class="ruby-node">&quot;.acinfo #{@selected_aircraft}&quot;</span>
544
+
545
+ <span class="ruby-comment"># Dump the aircraft info to a log for processing.</span>
546
+ <span class="ruby-identifier">execute_command</span> <span class="ruby-node">&quot;.log #{File.basename @aclog_path}&quot;</span>
547
+
548
+ <span class="ruby-comment"># Process aircraft info.</span>
549
+ <span class="ruby-identifier">aclog</span> = <span class="ruby-string">&#39;&#39;</span>
550
+ <span class="ruby-identifier">result</span> = <span class="ruby-string">&#39;&#39;</span>
551
+ <span class="ruby-identifier">attempts</span> = <span class="ruby-value">0</span>
552
+
553
+ <span class="ruby-keyword">while</span> <span class="ruby-identifier">attempts</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">5</span>
554
+ <span class="ruby-identifier">aclog_exists</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span> <span class="ruby-ivar">@aclog_path</span>
555
+ <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">aclog_exists</span>
556
+
557
+ <span class="ruby-identifier">attempts</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
558
+ <span class="ruby-identifier">sleep</span> <span class="ruby-value">0.5</span>
559
+ <span class="ruby-keyword">end</span>
560
+
561
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">aclog_exists</span>
562
+ <span class="ruby-identifier">aclog</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-ivar">@aclog_path</span>).<span class="ruby-identifier">read</span>
563
+
564
+ <span class="ruby-comment"># Only keep the last few lines.</span>
565
+ <span class="ruby-comment"># Reverse the lines so the latest one is first.</span>
566
+ <span class="ruby-identifier">aclog</span> = <span class="ruby-identifier">aclog</span>.<span class="ruby-identifier">lines</span>[<span class="ruby-value">-6</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>].<span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">join</span>
567
+
568
+ <span class="ruby-identifier">aclog</span>.<span class="ruby-identifier">each_line</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
569
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub</span> <span class="ruby-regexp">/.*\s*(Aircraft info for \w*:\s*)/</span>, <span class="ruby-string">&#39;&#39;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">include?</span> <span class="ruby-node">&quot;Aircraft info for #{@selected_aircraft}&quot;</span>
570
+ <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>
571
+ <span class="ruby-keyword">end</span>
572
+
573
+ <span class="ruby-comment"># ---------------</span>
574
+ <span class="ruby-comment"># TODO: Implement</span>
575
+ <span class="ruby-comment"># ---------------</span>
576
+ <span class="ruby-identifier">result</span> = <span class="ruby-node">&quot;Aircraft type code &#39;#{&#39;xxx&#39;}&#39; not found in database.&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">empty?</span>
577
+
578
+ <span class="ruby-comment"># File.delete @aclog_path</span>
579
+ <span class="ruby-keyword">end</span>
580
+
581
+ <span class="ruby-identifier">result</span>
582
+ <span class="ruby-keyword">end</span></pre>
583
+ </div><!-- selected_aircraft_info-21-source -->
584
+
585
+ </div>
586
+
587
+
588
+
589
+
590
+ </div><!-- selected_aircraft_info-21-method -->
591
+
592
+
593
+ <div id="method-i-selected_flight_plan-21" class="method-detail ">
594
+
595
+ <div class="method-heading">
596
+ <span class="method-name">selected_flight_plan!</span><span
597
+ class="method-args">()</span>
598
+
599
+ <span class="method-click-advice">click to toggle source</span>
600
+
601
+ </div>
602
+
603
+
604
+ <div class="method-description">
605
+
606
+ <p>Extracts the flight plan of the selected aircraft.</p>
607
+
608
+
609
+
610
+
611
+ <div class="method-source-code" id="selected_flight_plan-21-source">
612
+ <pre><span class="ruby-comment"># File lib/atc-tools/vrc.rb, line 40</span>
613
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">selected_flight_plan!</span>
614
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ATCTools</span><span class="ruby-operator">::</span><span class="ruby-constant">NoAircraftSelectedError</span>, <span class="ruby-string">&quot;No aircraft selected.&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">aircraft_selected?</span>
615
+
616
+ <span class="ruby-identifier">execute_command</span> <span class="ruby-node">&quot;.ss #{@selected_aircraft}&quot;</span>
617
+
618
+ <span class="ruby-identifier">flight_plan</span> = <span class="ruby-constant">ATCTools</span><span class="ruby-operator">::</span><span class="ruby-constant">FlightPlan</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">callsign</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@selected_aircraft</span>,
619
+ <span class="ruby-identifier">aircraft</span><span class="ruby-operator">:</span> <span class="ruby-constant">ATCTools</span><span class="ruby-operator">::</span><span class="ruby-constant">Aircraft</span>.<span class="ruby-identifier">new</span>(
620
+ <span class="ruby-ivar">@flight_plan_win</span>.<span class="ruby-identifier">text_fields</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">value</span>,
621
+ <span class="ruby-identifier">info</span><span class="ruby-operator">:</span> <span class="ruby-identifier">selected_aircraft_info!</span>
622
+ ),
623
+ <span class="ruby-identifier">rules</span><span class="ruby-operator">:</span> (<span class="ruby-constant">RAutomation</span><span class="ruby-operator">::</span><span class="ruby-constant">Adapter</span><span class="ruby-operator">::</span><span class="ruby-constant">Win32</span><span class="ruby-operator">::</span><span class="ruby-constant">SelectList</span>.<span class="ruby-identifier">new</span> <span class="ruby-ivar">@flight_plan_win</span>, <span class="ruby-identifier">index</span><span class="ruby-operator">:</span> <span class="ruby-value">0</span>)
624
+ .<span class="ruby-identifier">value</span>.<span class="ruby-identifier">upcase</span>.<span class="ruby-identifier">to_sym</span>,
625
+ <span class="ruby-identifier">depart</span><span class="ruby-operator">:</span> <span class="ruby-constant">ATCTools</span><span class="ruby-operator">::</span><span class="ruby-constant">Airport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@flight_plan_win</span>.<span class="ruby-identifier">text_fields</span>[<span class="ruby-value">2</span>].<span class="ruby-identifier">value</span>),
626
+ <span class="ruby-identifier">arrive</span><span class="ruby-operator">:</span> <span class="ruby-constant">ATCTools</span><span class="ruby-operator">::</span><span class="ruby-constant">Airport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@flight_plan_win</span>.<span class="ruby-identifier">text_fields</span>[<span class="ruby-value">3</span>].<span class="ruby-identifier">value</span>),
627
+ <span class="ruby-identifier">alternate</span><span class="ruby-operator">:</span> <span class="ruby-constant">ATCTools</span><span class="ruby-operator">::</span><span class="ruby-constant">Airport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@flight_plan_win</span>.<span class="ruby-identifier">text_fields</span>[<span class="ruby-value">4</span>].<span class="ruby-identifier">value</span>),
628
+ <span class="ruby-identifier">cruise</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@flight_plan_win</span>.<span class="ruby-identifier">text_fields</span>[<span class="ruby-value">5</span>].<span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_i</span>,
629
+ <span class="ruby-identifier">scratchpad</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@flight_plan_win</span>.<span class="ruby-identifier">text_fields</span>[<span class="ruby-value">6</span>].<span class="ruby-identifier">value</span>.<span class="ruby-identifier">strip</span>,
630
+ <span class="ruby-identifier">squawk</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@flight_plan_win</span>.<span class="ruby-identifier">text_fields</span>[<span class="ruby-value">7</span>].<span class="ruby-identifier">value</span>.<span class="ruby-identifier">strip</span>,
631
+ <span class="ruby-identifier">route</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@flight_plan_win</span>.<span class="ruby-identifier">text_fields</span>[<span class="ruby-value">8</span>].<span class="ruby-identifier">value</span>.<span class="ruby-identifier">strip</span>,
632
+ <span class="ruby-identifier">remarks</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@flight_plan_win</span>.<span class="ruby-identifier">text_fields</span>[<span class="ruby-value">9</span>].<span class="ruby-identifier">value</span>.<span class="ruby-identifier">strip</span>
633
+ <span class="ruby-keyword">end</span></pre>
634
+ </div><!-- selected_flight_plan-21-source -->
635
+
636
+ </div>
637
+
638
+
639
+
640
+
641
+ </div><!-- selected_flight_plan-21-method -->
642
+
643
+
644
+ </section><!-- public-instance-method-details -->
645
+
646
+ </section><!-- 5Buntitled-5D -->
647
+
648
+ </div><!-- documentation -->
649
+
650
+
651
+ <footer id="validator-badges">
652
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
653
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 4.0.1.
654
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
655
+ </footer>
656
+