codin_rep 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/codin_rep.rb +86 -0
- data/lib/codin_rep/add_employee.rb +47 -0
- data/lib/codin_rep/command.rb +113 -0
- data/lib/codin_rep/communication.rb +124 -0
- data/lib/codin_rep/del_employee.rb +38 -0
- data/lib/codin_rep/employee_command.rb +93 -0
- data/lib/codin_rep/get_afd_header.rb +53 -0
- data/lib/codin_rep/get_records.rb +156 -0
- data/lib/codin_rep/get_time.rb +57 -0
- data/lib/codin_rep/set_time.rb +61 -0
- data/lib/codin_rep/time_util.rb +51 -0
- data/lib/codin_rep/version.rb +23 -0
- data/test/coverage/assets/0.10.0/application.css +799 -0
- data/test/coverage/assets/0.10.0/application.js +1707 -0
- data/test/coverage/assets/0.10.0/colorbox/border.png +0 -0
- data/test/coverage/assets/0.10.0/colorbox/controls.png +0 -0
- data/test/coverage/assets/0.10.0/colorbox/loading.gif +0 -0
- data/test/coverage/assets/0.10.0/colorbox/loading_background.png +0 -0
- data/test/coverage/assets/0.10.0/favicon_green.png +0 -0
- data/test/coverage/assets/0.10.0/favicon_red.png +0 -0
- data/test/coverage/assets/0.10.0/favicon_yellow.png +0 -0
- data/test/coverage/assets/0.10.0/loading.gif +0 -0
- data/test/coverage/assets/0.10.0/magnify.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/test/coverage/assets/0.10.0/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/test/coverage/index.html +6162 -0
- data/test/coverage/rcov/assets/0.2.3/jquery-1.3.2.min.js +19 -0
- data/test/coverage/rcov/assets/0.2.3/jquery.tablesorter.min.js +15 -0
- data/test/coverage/rcov/assets/0.2.3/print.css +12 -0
- data/test/coverage/rcov/assets/0.2.3/rcov.js +42 -0
- data/test/coverage/rcov/assets/0.2.3/screen.css +270 -0
- data/test/coverage/rcov/index.html +280 -0
- data/test/coverage/rcov/lib-codin_rep-add_employee_rb.html +200 -0
- data/test/coverage/rcov/lib-codin_rep-command_rb.html +398 -0
- data/test/coverage/rcov/lib-codin_rep-communication_rb.html +431 -0
- data/test/coverage/rcov/lib-codin_rep-del_employee_rb.html +173 -0
- data/test/coverage/rcov/lib-codin_rep-employee_command_rb.html +338 -0
- data/test/coverage/rcov/lib-codin_rep-get_afd_header_rb.html +218 -0
- data/test/coverage/rcov/lib-codin_rep-get_identification_rb.html +212 -0
- data/test/coverage/rcov/lib-codin_rep-get_records_rb.html +527 -0
- data/test/coverage/rcov/lib-codin_rep-get_time_rb.html +230 -0
- data/test/coverage/rcov/lib-codin_rep-set_employee_rb.html +248 -0
- data/test/coverage/rcov/lib-codin_rep-set_time_rb.html +242 -0
- data/test/coverage/rcov/lib-codin_rep-time_util_rb.html +212 -0
- data/test/coverage/rcov/lib-codin_rep-version_rb.html +128 -0
- data/test/coverage/rcov/lib-codin_rep_rb.html +317 -0
- data/test/mock_time_clock.rb +184 -0
- data/test/reports/TEST-GetTimeTest.xml +5 -0
- data/test/test_helper.rb +25 -0
- data/test/unit/add_employee_test.rb +43 -0
- data/test/unit/del_employee_test.rb +44 -0
- data/test/unit/get_employer_test.rb +48 -0
- data/test/unit/get_records_test.rb +45 -0
- data/test/unit/get_serial_number_test.rb +42 -0
- data/test/unit/get_time_test.rb +40 -0
- data/test/unit/set_time_test.rb +42 -0
- metadata +165 -0
@@ -0,0 +1,212 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
<html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
|
3
|
+
<head>
|
4
|
+
<title>lib/codin_rep/get_identification.rb</title>
|
5
|
+
<link href="./assets/0.2.3/screen.css" media="all" rel="stylesheet" type="text/css" />
|
6
|
+
<link href="./assets/0.2.3/print.css" media="print" rel="stylesheet" type="text/css" />
|
7
|
+
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
|
8
|
+
<script type="text/javascript" src="./assets/0.2.3/rcov.js"></script>
|
9
|
+
</head>
|
10
|
+
<body>
|
11
|
+
<h1>Src C0 Coverage Information - Simploco - RCov</h1>
|
12
|
+
<h2>lib/codin_rep/get_identification.rb</h2>
|
13
|
+
|
14
|
+
<div class="report_table_wrapper">
|
15
|
+
<table class='report' id='report_table'>
|
16
|
+
<thead>
|
17
|
+
<tr>
|
18
|
+
<th class="left_align">Name</th>
|
19
|
+
<th class="right_align">Total Lines</th>
|
20
|
+
<th class="right_align">Lines of Code</th>
|
21
|
+
<th class="left_align">Total Coverage</th>
|
22
|
+
<th class="left_align">Code Coverage</th>
|
23
|
+
</tr>
|
24
|
+
</thead>
|
25
|
+
<tbody>
|
26
|
+
<tr>
|
27
|
+
<td class="left_align"><a href="lib-codin_rep-get_identification_rb.html">lib/codin_rep/get_identification.rb</a></td>
|
28
|
+
<td class='right_align'><tt>51</tt></td>
|
29
|
+
<td class='right_align'><tt>51</tt></td>
|
30
|
+
<td class="left_align"><div class="percent_graph_legend"><tt class=''>0.00%</tt></div>
|
31
|
+
<div class="percent_graph">
|
32
|
+
<div class="covered" style="width:0px"></div>
|
33
|
+
<div class="uncovered" style="width:100px"></div>
|
34
|
+
</div></td>
|
35
|
+
<td class="left_align"><div class="percent_graph_legend"><tt class=''>0.00%</tt></div>
|
36
|
+
<div class="percent_graph">
|
37
|
+
<div class="covered" style="width:0px"></div>
|
38
|
+
<div class="uncovered" style="width:100px"></div>
|
39
|
+
</div></td>
|
40
|
+
</tr>
|
41
|
+
</tbody>
|
42
|
+
</table>
|
43
|
+
</div>
|
44
|
+
|
45
|
+
<h3>Key</h3>
|
46
|
+
|
47
|
+
<div class="key"><pre><span class='marked'>Code reported as executed by Ruby looks like this...</span><span class='marked1'>and this: this line is also marked as covered.</span><span class='inferred'>Lines considered as run by rcov, but not reported by Ruby, look like this,</span><span class='inferred1'>and this: these lines were inferred by rcov (using simple heuristics).</span><span class='uncovered'>Finally, here's a line marked as not executed.</span></pre></div>
|
48
|
+
|
49
|
+
<h3>Coverage Details</h3>
|
50
|
+
|
51
|
+
<table class="details">
|
52
|
+
<tbody>
|
53
|
+
<tr class="uncovered">
|
54
|
+
<td><pre><a name="line2">2</a> # -*- coding: utf-8 -*-</pre></td>
|
55
|
+
</tr>
|
56
|
+
<tr class="uncovered">
|
57
|
+
<td><pre><a name="line3">3</a> # codin_rep - Gem para acesso de REPs da Telebyte</pre></td>
|
58
|
+
</tr>
|
59
|
+
<tr class="uncovered">
|
60
|
+
<td><pre><a name="line4">4</a> # Copyright (C) 2016 O.S. Systems Softwares Ltda.</pre></td>
|
61
|
+
</tr>
|
62
|
+
<tr class="uncovered">
|
63
|
+
<td><pre><a name="line5">5</a> </pre></td>
|
64
|
+
</tr>
|
65
|
+
<tr class="uncovered">
|
66
|
+
<td><pre><a name="line6">6</a> # This program is free software: you can redistribute it and/or modify</pre></td>
|
67
|
+
</tr>
|
68
|
+
<tr class="uncovered">
|
69
|
+
<td><pre><a name="line7">7</a> # it under the terms of the GNU Affero General Public License as</pre></td>
|
70
|
+
</tr>
|
71
|
+
<tr class="uncovered">
|
72
|
+
<td><pre><a name="line8">8</a> # published by the Free Software Foundation, either version 3 of the</pre></td>
|
73
|
+
</tr>
|
74
|
+
<tr class="uncovered">
|
75
|
+
<td><pre><a name="line9">9</a> # License, or (at your option) any later version.</pre></td>
|
76
|
+
</tr>
|
77
|
+
<tr class="uncovered">
|
78
|
+
<td><pre><a name="line10">10</a> </pre></td>
|
79
|
+
</tr>
|
80
|
+
<tr class="uncovered">
|
81
|
+
<td><pre><a name="line11">11</a> # This program is distributed in the hope that it will be useful,</pre></td>
|
82
|
+
</tr>
|
83
|
+
<tr class="uncovered">
|
84
|
+
<td><pre><a name="line12">12</a> # but WITHOUT ANY WARRANTY; without even the implied warranty of</pre></td>
|
85
|
+
</tr>
|
86
|
+
<tr class="uncovered">
|
87
|
+
<td><pre><a name="line13">13</a> # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</pre></td>
|
88
|
+
</tr>
|
89
|
+
<tr class="uncovered">
|
90
|
+
<td><pre><a name="line14">14</a> # GNU Affero General Public License for more details.</pre></td>
|
91
|
+
</tr>
|
92
|
+
<tr class="uncovered">
|
93
|
+
<td><pre><a name="line15">15</a> </pre></td>
|
94
|
+
</tr>
|
95
|
+
<tr class="uncovered">
|
96
|
+
<td><pre><a name="line16">16</a> # You should have received a copy of the GNU Affero General Public License</pre></td>
|
97
|
+
</tr>
|
98
|
+
<tr class="uncovered">
|
99
|
+
<td><pre><a name="line17">17</a> # along with this program. If not, see <http://www.gnu.org/licenses/>.</pre></td>
|
100
|
+
</tr>
|
101
|
+
<tr class="uncovered">
|
102
|
+
<td><pre><a name="line18">18</a> </pre></td>
|
103
|
+
</tr>
|
104
|
+
<tr class="uncovered">
|
105
|
+
<td><pre><a name="line19">19</a> # Rua Clóvis Gularte Candiota 132, Pelotas-RS, Brasil.</pre></td>
|
106
|
+
</tr>
|
107
|
+
<tr class="uncovered">
|
108
|
+
<td><pre><a name="line20">20</a> # e-mail: contato@ossystems.com.br</pre></td>
|
109
|
+
</tr>
|
110
|
+
<tr class="uncovered">
|
111
|
+
<td><pre><a name="line21">21</a> </pre></td>
|
112
|
+
</tr>
|
113
|
+
<tr class="uncovered">
|
114
|
+
<td><pre><a name="line22">22</a> require "afd_parser"</pre></td>
|
115
|
+
</tr>
|
116
|
+
<tr class="uncovered">
|
117
|
+
<td><pre><a name="line23">23</a> require "codin_rep/command"</pre></td>
|
118
|
+
</tr>
|
119
|
+
<tr class="uncovered">
|
120
|
+
<td><pre><a name="line24">24</a> </pre></td>
|
121
|
+
</tr>
|
122
|
+
<tr class="uncovered">
|
123
|
+
<td><pre><a name="line25">25</a> module CodinRep</pre></td>
|
124
|
+
</tr>
|
125
|
+
<tr class="uncovered">
|
126
|
+
<td><pre><a name="line26">26</a> class GetIdentification < Command</pre></td>
|
127
|
+
</tr>
|
128
|
+
<tr class="uncovered">
|
129
|
+
<td><pre><a name="line27">27</a> COMMAND_CODE = "009Z".freeze</pre></td>
|
130
|
+
</tr>
|
131
|
+
<tr class="uncovered">
|
132
|
+
<td><pre><a name="line28">28</a> EXPECTED_HEADER = 'REP2359'.freeze</pre></td>
|
133
|
+
</tr>
|
134
|
+
<tr class="uncovered">
|
135
|
+
<td><pre><a name="line29">29</a> </pre></td>
|
136
|
+
</tr>
|
137
|
+
<tr class="uncovered">
|
138
|
+
<td><pre><a name="line30">30</a> def generate_command_payload</pre></td>
|
139
|
+
</tr>
|
140
|
+
<tr class="uncovered">
|
141
|
+
<td><pre><a name="line31">31</a> ""</pre></td>
|
142
|
+
</tr>
|
143
|
+
<tr class="uncovered">
|
144
|
+
<td><pre><a name="line32">32</a> end</pre></td>
|
145
|
+
</tr>
|
146
|
+
<tr class="uncovered">
|
147
|
+
<td><pre><a name="line33">33</a> </pre></td>
|
148
|
+
</tr>
|
149
|
+
<tr class="uncovered">
|
150
|
+
<td><pre><a name="line34">34</a> def get_expected_response_size</pre></td>
|
151
|
+
</tr>
|
152
|
+
<tr class="uncovered">
|
153
|
+
<td><pre><a name="line35">35</a> 241</pre></td>
|
154
|
+
</tr>
|
155
|
+
<tr class="uncovered">
|
156
|
+
<td><pre><a name="line36">36</a> end</pre></td>
|
157
|
+
</tr>
|
158
|
+
<tr class="uncovered">
|
159
|
+
<td><pre><a name="line37">37</a> </pre></td>
|
160
|
+
</tr>
|
161
|
+
<tr class="uncovered">
|
162
|
+
<td><pre><a name="line38">38</a> def check_response_header</pre></td>
|
163
|
+
</tr>
|
164
|
+
<tr class="uncovered">
|
165
|
+
<td><pre><a name="line39">39</a> unless @response.match(/^#{EXPECTED_HEADER}/)</pre></td>
|
166
|
+
</tr>
|
167
|
+
<tr class="uncovered">
|
168
|
+
<td><pre><a name="line40">40</a> raise UnknownHeader.new @response[0..6], 'get identification', EXPECTED_HEADER</pre></td>
|
169
|
+
</tr>
|
170
|
+
<tr class="uncovered">
|
171
|
+
<td><pre><a name="line41">41</a> end</pre></td>
|
172
|
+
</tr>
|
173
|
+
<tr class="uncovered">
|
174
|
+
<td><pre><a name="line42">42</a> end</pre></td>
|
175
|
+
</tr>
|
176
|
+
<tr class="uncovered">
|
177
|
+
<td><pre><a name="line43">43</a> </pre></td>
|
178
|
+
</tr>
|
179
|
+
<tr class="uncovered">
|
180
|
+
<td><pre><a name="line44">44</a> def get_response_payload</pre></td>
|
181
|
+
</tr>
|
182
|
+
<tr class="uncovered">
|
183
|
+
<td><pre><a name="line45">45</a> @response_payload = @response[7..-1]</pre></td>
|
184
|
+
</tr>
|
185
|
+
<tr class="uncovered">
|
186
|
+
<td><pre><a name="line46">46</a> end</pre></td>
|
187
|
+
</tr>
|
188
|
+
<tr class="uncovered">
|
189
|
+
<td><pre><a name="line47">47</a> </pre></td>
|
190
|
+
</tr>
|
191
|
+
<tr class="uncovered">
|
192
|
+
<td><pre><a name="line48">48</a> def get_data_from_response_payload</pre></td>
|
193
|
+
</tr>
|
194
|
+
<tr class="uncovered">
|
195
|
+
<td><pre><a name="line49">49</a> AfdParser::Header.new @response_payload</pre></td>
|
196
|
+
</tr>
|
197
|
+
<tr class="uncovered">
|
198
|
+
<td><pre><a name="line50">50</a> end</pre></td>
|
199
|
+
</tr>
|
200
|
+
<tr class="uncovered">
|
201
|
+
<td><pre><a name="line51">51</a> end</pre></td>
|
202
|
+
</tr>
|
203
|
+
<tr class="uncovered">
|
204
|
+
<td><pre><a name="line52">52</a> end</pre></td>
|
205
|
+
</tr>
|
206
|
+
</tbody>
|
207
|
+
</table>
|
208
|
+
|
209
|
+
<p>Generated on 2017-01-12 14:52:23 -0200 with <a href="https://github.com/fguillen/simplecov-rcov">SimpleCov-RCov 0.2.3</a></p>
|
210
|
+
|
211
|
+
</body>
|
212
|
+
</html>
|
@@ -0,0 +1,527 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
<html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
|
3
|
+
<head>
|
4
|
+
<title>lib/codin_rep/get_records.rb</title>
|
5
|
+
<link href="./assets/0.2.3/screen.css" media="all" rel="stylesheet" type="text/css" />
|
6
|
+
<link href="./assets/0.2.3/print.css" media="print" rel="stylesheet" type="text/css" />
|
7
|
+
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
|
8
|
+
<script type="text/javascript" src="./assets/0.2.3/rcov.js"></script>
|
9
|
+
</head>
|
10
|
+
<body>
|
11
|
+
<h1>Src C0 Coverage Information - Simploco - RCov</h1>
|
12
|
+
<h2>lib/codin_rep/get_records.rb</h2>
|
13
|
+
|
14
|
+
<div class="report_table_wrapper">
|
15
|
+
<table class='report' id='report_table'>
|
16
|
+
<thead>
|
17
|
+
<tr>
|
18
|
+
<th class="left_align">Name</th>
|
19
|
+
<th class="right_align">Total Lines</th>
|
20
|
+
<th class="right_align">Lines of Code</th>
|
21
|
+
<th class="left_align">Total Coverage</th>
|
22
|
+
<th class="left_align">Code Coverage</th>
|
23
|
+
</tr>
|
24
|
+
</thead>
|
25
|
+
<tbody>
|
26
|
+
<tr>
|
27
|
+
<td class="left_align"><a href="lib-codin_rep-get_records_rb.html">lib/codin_rep/get_records.rb</a></td>
|
28
|
+
<td class='right_align'><tt>156</tt></td>
|
29
|
+
<td class='right_align'><tt>156</tt></td>
|
30
|
+
<td class="left_align"><div class="percent_graph_legend"><tt class=''>0.00%</tt></div>
|
31
|
+
<div class="percent_graph">
|
32
|
+
<div class="covered" style="width:0px"></div>
|
33
|
+
<div class="uncovered" style="width:100px"></div>
|
34
|
+
</div></td>
|
35
|
+
<td class="left_align"><div class="percent_graph_legend"><tt class=''>0.00%</tt></div>
|
36
|
+
<div class="percent_graph">
|
37
|
+
<div class="covered" style="width:0px"></div>
|
38
|
+
<div class="uncovered" style="width:100px"></div>
|
39
|
+
</div></td>
|
40
|
+
</tr>
|
41
|
+
</tbody>
|
42
|
+
</table>
|
43
|
+
</div>
|
44
|
+
|
45
|
+
<h3>Key</h3>
|
46
|
+
|
47
|
+
<div class="key"><pre><span class='marked'>Code reported as executed by Ruby looks like this...</span><span class='marked1'>and this: this line is also marked as covered.</span><span class='inferred'>Lines considered as run by rcov, but not reported by Ruby, look like this,</span><span class='inferred1'>and this: these lines were inferred by rcov (using simple heuristics).</span><span class='uncovered'>Finally, here's a line marked as not executed.</span></pre></div>
|
48
|
+
|
49
|
+
<h3>Coverage Details</h3>
|
50
|
+
|
51
|
+
<table class="details">
|
52
|
+
<tbody>
|
53
|
+
<tr class="uncovered">
|
54
|
+
<td><pre><a name="line2">2</a> # -*- coding: utf-8 -*-</pre></td>
|
55
|
+
</tr>
|
56
|
+
<tr class="uncovered">
|
57
|
+
<td><pre><a name="line3">3</a> # codin_rep - Gem para acesso de REPs da Telebyte</pre></td>
|
58
|
+
</tr>
|
59
|
+
<tr class="uncovered">
|
60
|
+
<td><pre><a name="line4">4</a> # Copyright (C) 2016 O.S. Systems Softwares Ltda.</pre></td>
|
61
|
+
</tr>
|
62
|
+
<tr class="uncovered">
|
63
|
+
<td><pre><a name="line5">5</a> </pre></td>
|
64
|
+
</tr>
|
65
|
+
<tr class="uncovered">
|
66
|
+
<td><pre><a name="line6">6</a> # This program is free software: you can redistribute it and/or modify</pre></td>
|
67
|
+
</tr>
|
68
|
+
<tr class="uncovered">
|
69
|
+
<td><pre><a name="line7">7</a> # it under the terms of the GNU Affero General Public License as</pre></td>
|
70
|
+
</tr>
|
71
|
+
<tr class="uncovered">
|
72
|
+
<td><pre><a name="line8">8</a> # published by the Free Software Foundation, either version 3 of the</pre></td>
|
73
|
+
</tr>
|
74
|
+
<tr class="uncovered">
|
75
|
+
<td><pre><a name="line9">9</a> # License, or (at your option) any later version.</pre></td>
|
76
|
+
</tr>
|
77
|
+
<tr class="uncovered">
|
78
|
+
<td><pre><a name="line10">10</a> </pre></td>
|
79
|
+
</tr>
|
80
|
+
<tr class="uncovered">
|
81
|
+
<td><pre><a name="line11">11</a> # This program is distributed in the hope that it will be useful,</pre></td>
|
82
|
+
</tr>
|
83
|
+
<tr class="uncovered">
|
84
|
+
<td><pre><a name="line12">12</a> # but WITHOUT ANY WARRANTY; without even the implied warranty of</pre></td>
|
85
|
+
</tr>
|
86
|
+
<tr class="uncovered">
|
87
|
+
<td><pre><a name="line13">13</a> # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</pre></td>
|
88
|
+
</tr>
|
89
|
+
<tr class="uncovered">
|
90
|
+
<td><pre><a name="line14">14</a> # GNU Affero General Public License for more details.</pre></td>
|
91
|
+
</tr>
|
92
|
+
<tr class="uncovered">
|
93
|
+
<td><pre><a name="line15">15</a> </pre></td>
|
94
|
+
</tr>
|
95
|
+
<tr class="uncovered">
|
96
|
+
<td><pre><a name="line16">16</a> # You should have received a copy of the GNU Affero General Public License</pre></td>
|
97
|
+
</tr>
|
98
|
+
<tr class="uncovered">
|
99
|
+
<td><pre><a name="line17">17</a> # along with this program. If not, see <http://www.gnu.org/licenses/>.</pre></td>
|
100
|
+
</tr>
|
101
|
+
<tr class="uncovered">
|
102
|
+
<td><pre><a name="line18">18</a> </pre></td>
|
103
|
+
</tr>
|
104
|
+
<tr class="uncovered">
|
105
|
+
<td><pre><a name="line19">19</a> # Rua Clóvis Gularte Candiota 132, Pelotas-RS, Brasil.</pre></td>
|
106
|
+
</tr>
|
107
|
+
<tr class="uncovered">
|
108
|
+
<td><pre><a name="line20">20</a> # e-mail: contato@ossystems.com.br</pre></td>
|
109
|
+
</tr>
|
110
|
+
<tr class="uncovered">
|
111
|
+
<td><pre><a name="line21">21</a> </pre></td>
|
112
|
+
</tr>
|
113
|
+
<tr class="uncovered">
|
114
|
+
<td><pre><a name="line22">22</a> require "afd_parser"</pre></td>
|
115
|
+
</tr>
|
116
|
+
<tr class="uncovered">
|
117
|
+
<td><pre><a name="line23">23</a> require "codin_rep/command"</pre></td>
|
118
|
+
</tr>
|
119
|
+
<tr class="uncovered">
|
120
|
+
<td><pre><a name="line24">24</a> </pre></td>
|
121
|
+
</tr>
|
122
|
+
<tr class="uncovered">
|
123
|
+
<td><pre><a name="line25">25</a> module CodinRep</pre></td>
|
124
|
+
</tr>
|
125
|
+
<tr class="uncovered">
|
126
|
+
<td><pre><a name="line26">26</a> class GetRecords < Command</pre></td>
|
127
|
+
</tr>
|
128
|
+
<tr class="uncovered">
|
129
|
+
<td><pre><a name="line27">27</a> class UnknownAfdRecord < StandardError</pre></td>
|
130
|
+
</tr>
|
131
|
+
<tr class="uncovered">
|
132
|
+
<td><pre><a name="line28">28</a> def initialize(afd_record_id)</pre></td>
|
133
|
+
</tr>
|
134
|
+
<tr class="uncovered">
|
135
|
+
<td><pre><a name="line29">29</a> @afd_record_id = afd_record_id</pre></td>
|
136
|
+
</tr>
|
137
|
+
<tr class="uncovered">
|
138
|
+
<td><pre><a name="line30">30</a> end</pre></td>
|
139
|
+
</tr>
|
140
|
+
<tr class="uncovered">
|
141
|
+
<td><pre><a name="line31">31</a> </pre></td>
|
142
|
+
</tr>
|
143
|
+
<tr class="uncovered">
|
144
|
+
<td><pre><a name="line32">32</a> def message</pre></td>
|
145
|
+
</tr>
|
146
|
+
<tr class="uncovered">
|
147
|
+
<td><pre><a name="line33">33</a> message = "The REP returned an unknown AFD record of id '#{@afd_record_id}'"</pre></td>
|
148
|
+
</tr>
|
149
|
+
<tr class="uncovered">
|
150
|
+
<td><pre><a name="line34">34</a> end</pre></td>
|
151
|
+
</tr>
|
152
|
+
<tr class="uncovered">
|
153
|
+
<td><pre><a name="line35">35</a> end</pre></td>
|
154
|
+
</tr>
|
155
|
+
<tr class="uncovered">
|
156
|
+
<td><pre><a name="line36">36</a> </pre></td>
|
157
|
+
</tr>
|
158
|
+
<tr class="uncovered">
|
159
|
+
<td><pre><a name="line37">37</a> START_COMMAND = "PGREP0289".freeze</pre></td>
|
160
|
+
</tr>
|
161
|
+
<tr class="uncovered">
|
162
|
+
<td><pre><a name="line38">38</a> NEXT_RECORD_COMMAND = "PGREP009,".freeze</pre></td>
|
163
|
+
</tr>
|
164
|
+
<tr class="uncovered">
|
165
|
+
<td><pre><a name="line39">39</a> START_HEADER = 'REP0029['.freeze</pre></td>
|
166
|
+
</tr>
|
167
|
+
<tr class="uncovered">
|
168
|
+
<td><pre><a name="line40">40</a> END_HEADER = 'REP0029]'.freeze</pre></td>
|
169
|
+
</tr>
|
170
|
+
<tr class="uncovered">
|
171
|
+
<td><pre><a name="line41">41</a> AFD_DATA_START_HEADER = 'REP3029'.freeze</pre></td>
|
172
|
+
</tr>
|
173
|
+
<tr class="uncovered">
|
174
|
+
<td><pre><a name="line42">42</a> AFD_DATA_CONTINUATION_HEADER = 'REP0379'.freeze</pre></td>
|
175
|
+
</tr>
|
176
|
+
<tr class="uncovered">
|
177
|
+
<td><pre><a name="line43">43</a> AFD_DATA_ONLY_HEADER = 'REP2359'.freeze</pre></td>
|
178
|
+
</tr>
|
179
|
+
<tr class="uncovered">
|
180
|
+
<td><pre><a name="line44">44</a> AFD_DATA_END_HEADER = 'REP0909'.freeze</pre></td>
|
181
|
+
</tr>
|
182
|
+
<tr class="uncovered">
|
183
|
+
<td><pre><a name="line45">45</a> HEADER_SIZE = 8</pre></td>
|
184
|
+
</tr>
|
185
|
+
<tr class="uncovered">
|
186
|
+
<td><pre><a name="line46">46</a> AFD_SIZES_BY_TYPE = {</pre></td>
|
187
|
+
</tr>
|
188
|
+
<tr class="uncovered">
|
189
|
+
<td><pre><a name="line47">47</a> '1' => 233,</pre></td>
|
190
|
+
</tr>
|
191
|
+
<tr class="uncovered">
|
192
|
+
<td><pre><a name="line48">48</a> '2' => 300,</pre></td>
|
193
|
+
</tr>
|
194
|
+
<tr class="uncovered">
|
195
|
+
<td><pre><a name="line49">49</a> '3' => 35,</pre></td>
|
196
|
+
</tr>
|
197
|
+
<tr class="uncovered">
|
198
|
+
<td><pre><a name="line50">50</a> '4' => 35,</pre></td>
|
199
|
+
</tr>
|
200
|
+
<tr class="uncovered">
|
201
|
+
<td><pre><a name="line51">51</a> '5' => 88</pre></td>
|
202
|
+
</tr>
|
203
|
+
<tr class="uncovered">
|
204
|
+
<td><pre><a name="line52">52</a> }.freeze</pre></td>
|
205
|
+
</tr>
|
206
|
+
<tr class="uncovered">
|
207
|
+
<td><pre><a name="line53">53</a> </pre></td>
|
208
|
+
</tr>
|
209
|
+
<tr class="uncovered">
|
210
|
+
<td><pre><a name="line54">54</a> def initialize(first_id, *args)</pre></td>
|
211
|
+
</tr>
|
212
|
+
<tr class="uncovered">
|
213
|
+
<td><pre><a name="line55">55</a> super(*args)</pre></td>
|
214
|
+
</tr>
|
215
|
+
<tr class="uncovered">
|
216
|
+
<td><pre><a name="line56">56</a> @first_id = first_id.to_i</pre></td>
|
217
|
+
</tr>
|
218
|
+
<tr class="uncovered">
|
219
|
+
<td><pre><a name="line57">57</a> @first_id = 1 if @first_id < 1</pre></td>
|
220
|
+
</tr>
|
221
|
+
<tr class="uncovered">
|
222
|
+
<td><pre><a name="line58">58</a> end</pre></td>
|
223
|
+
</tr>
|
224
|
+
<tr class="uncovered">
|
225
|
+
<td><pre><a name="line59">59</a> </pre></td>
|
226
|
+
</tr>
|
227
|
+
<tr class="uncovered">
|
228
|
+
<td><pre><a name="line60">60</a> def execute</pre></td>
|
229
|
+
</tr>
|
230
|
+
<tr class="uncovered">
|
231
|
+
<td><pre><a name="line61">61</a> @command_data = get_first_command</pre></td>
|
232
|
+
</tr>
|
233
|
+
<tr class="uncovered">
|
234
|
+
<td><pre><a name="line62">62</a> @response = ""</pre></td>
|
235
|
+
</tr>
|
236
|
+
<tr class="uncovered">
|
237
|
+
<td><pre><a name="line63">63</a> @parser = AfdParser.new(false)</pre></td>
|
238
|
+
</tr>
|
239
|
+
<tr class="uncovered">
|
240
|
+
<td><pre><a name="line64">64</a> @records = []</pre></td>
|
241
|
+
</tr>
|
242
|
+
<tr class="uncovered">
|
243
|
+
<td><pre><a name="line65">65</a> </pre></td>
|
244
|
+
</tr>
|
245
|
+
<tr class="uncovered">
|
246
|
+
<td><pre><a name="line66">66</a> get_afd_records</pre></td>
|
247
|
+
</tr>
|
248
|
+
<tr class="uncovered">
|
249
|
+
<td><pre><a name="line67">67</a> </pre></td>
|
250
|
+
</tr>
|
251
|
+
<tr class="uncovered">
|
252
|
+
<td><pre><a name="line68">68</a> return @parser</pre></td>
|
253
|
+
</tr>
|
254
|
+
<tr class="uncovered">
|
255
|
+
<td><pre><a name="line69">69</a> end</pre></td>
|
256
|
+
</tr>
|
257
|
+
<tr class="uncovered">
|
258
|
+
<td><pre><a name="line70">70</a> </pre></td>
|
259
|
+
</tr>
|
260
|
+
<tr class="uncovered">
|
261
|
+
<td><pre><a name="line71">71</a> def get_afd_records</pre></td>
|
262
|
+
</tr>
|
263
|
+
<tr class="uncovered">
|
264
|
+
<td><pre><a name="line72">72</a> begin</pre></td>
|
265
|
+
</tr>
|
266
|
+
<tr class="uncovered">
|
267
|
+
<td><pre><a name="line73">73</a> while !@command_data.match(/^#{NEXT_RECORD_COMMAND}/) || @response != END_HEADER</pre></td>
|
268
|
+
</tr>
|
269
|
+
<tr class="uncovered">
|
270
|
+
<td><pre><a name="line74">74</a> @response = communicate!</pre></td>
|
271
|
+
</tr>
|
272
|
+
<tr class="uncovered">
|
273
|
+
<td><pre><a name="line75">75</a> current_record = nil</pre></td>
|
274
|
+
</tr>
|
275
|
+
<tr class="uncovered">
|
276
|
+
<td><pre><a name="line76">76</a> if @has_response_payload</pre></td>
|
277
|
+
</tr>
|
278
|
+
<tr class="uncovered">
|
279
|
+
<td><pre><a name="line77">77</a> raw_record = get_response_payload</pre></td>
|
280
|
+
</tr>
|
281
|
+
<tr class="uncovered">
|
282
|
+
<td><pre><a name="line78">78</a> current_record = @parser.parse_line(raw_record, nil)</pre></td>
|
283
|
+
</tr>
|
284
|
+
<tr class="uncovered">
|
285
|
+
<td><pre><a name="line79">79</a> end</pre></td>
|
286
|
+
</tr>
|
287
|
+
<tr class="uncovered">
|
288
|
+
<td><pre><a name="line80">80</a> @records << current_record</pre></td>
|
289
|
+
</tr>
|
290
|
+
<tr class="uncovered">
|
291
|
+
<td><pre><a name="line81">81</a> </pre></td>
|
292
|
+
</tr>
|
293
|
+
<tr class="uncovered">
|
294
|
+
<td><pre><a name="line82">82</a> @command_data = NEXT_RECORD_COMMAND</pre></td>
|
295
|
+
</tr>
|
296
|
+
<tr class="uncovered">
|
297
|
+
<td><pre><a name="line83">83</a> end</pre></td>
|
298
|
+
</tr>
|
299
|
+
<tr class="uncovered">
|
300
|
+
<td><pre><a name="line84">84</a> ensure</pre></td>
|
301
|
+
</tr>
|
302
|
+
<tr class="uncovered">
|
303
|
+
<td><pre><a name="line85">85</a> @communication.close if @communication</pre></td>
|
304
|
+
</tr>
|
305
|
+
<tr class="uncovered">
|
306
|
+
<td><pre><a name="line86">86</a> end</pre></td>
|
307
|
+
</tr>
|
308
|
+
<tr class="uncovered">
|
309
|
+
<td><pre><a name="line87">87</a> </pre></td>
|
310
|
+
</tr>
|
311
|
+
<tr class="uncovered">
|
312
|
+
<td><pre><a name="line88">88</a> afd_start_date = @parser.first_creation_date</pre></td>
|
313
|
+
</tr>
|
314
|
+
<tr class="uncovered">
|
315
|
+
<td><pre><a name="line89">89</a> afd_end_date = @parser.last_creation_date</pre></td>
|
316
|
+
</tr>
|
317
|
+
<tr class="uncovered">
|
318
|
+
<td><pre><a name="line90">90</a> </pre></td>
|
319
|
+
</tr>
|
320
|
+
<tr class="uncovered">
|
321
|
+
<td><pre><a name="line91">91</a> employer_command = CodinRep::GetAfdHeader.new(@host_address, @tcp_port)</pre></td>
|
322
|
+
</tr>
|
323
|
+
<tr class="uncovered">
|
324
|
+
<td><pre><a name="line92">92</a> employer = employer_command.execute</pre></td>
|
325
|
+
</tr>
|
326
|
+
<tr class="uncovered">
|
327
|
+
<td><pre><a name="line93">93</a> </pre></td>
|
328
|
+
</tr>
|
329
|
+
<tr class="uncovered">
|
330
|
+
<td><pre><a name="line94">94</a> @parser.create_header(employer.employer_type, employer.employer_document,</pre></td>
|
331
|
+
</tr>
|
332
|
+
<tr class="uncovered">
|
333
|
+
<td><pre><a name="line95">95</a> employer.employer_cei, employer.employer_name,</pre></td>
|
334
|
+
</tr>
|
335
|
+
<tr class="uncovered">
|
336
|
+
<td><pre><a name="line96">96</a> employer.rep_serial_number, afd_start_date,</pre></td>
|
337
|
+
</tr>
|
338
|
+
<tr class="uncovered">
|
339
|
+
<td><pre><a name="line97">97</a> afd_end_date, Time.now)</pre></td>
|
340
|
+
</tr>
|
341
|
+
<tr class="uncovered">
|
342
|
+
<td><pre><a name="line98">98</a> @parser.create_trailer</pre></td>
|
343
|
+
</tr>
|
344
|
+
<tr class="uncovered">
|
345
|
+
<td><pre><a name="line99">99</a> end</pre></td>
|
346
|
+
</tr>
|
347
|
+
<tr class="uncovered">
|
348
|
+
<td><pre><a name="line100">100</a> </pre></td>
|
349
|
+
</tr>
|
350
|
+
<tr class="uncovered">
|
351
|
+
<td><pre><a name="line101">101</a> def get_expected_response_size</pre></td>
|
352
|
+
</tr>
|
353
|
+
<tr class="uncovered">
|
354
|
+
<td><pre><a name="line102">102</a> proc do |partial_data|</pre></td>
|
355
|
+
</tr>
|
356
|
+
<tr class="uncovered">
|
357
|
+
<td><pre><a name="line103">103</a> @has_response_payload = true</pre></td>
|
358
|
+
</tr>
|
359
|
+
<tr class="uncovered">
|
360
|
+
<td><pre><a name="line104">104</a> case partial_data</pre></td>
|
361
|
+
</tr>
|
362
|
+
<tr class="uncovered">
|
363
|
+
<td><pre><a name="line105">105</a> when START_HEADER</pre></td>
|
364
|
+
</tr>
|
365
|
+
<tr class="uncovered">
|
366
|
+
<td><pre><a name="line106">106</a> @has_response_payload = false</pre></td>
|
367
|
+
</tr>
|
368
|
+
<tr class="uncovered">
|
369
|
+
<td><pre><a name="line107">107</a> expected_size = 0</pre></td>
|
370
|
+
</tr>
|
371
|
+
<tr class="uncovered">
|
372
|
+
<td><pre><a name="line108">108</a> when END_HEADER</pre></td>
|
373
|
+
</tr>
|
374
|
+
<tr class="uncovered">
|
375
|
+
<td><pre><a name="line109">109</a> @has_response_payload = false</pre></td>
|
376
|
+
</tr>
|
377
|
+
<tr class="uncovered">
|
378
|
+
<td><pre><a name="line110">110</a> expected_size = 0</pre></td>
|
379
|
+
</tr>
|
380
|
+
<tr class="uncovered">
|
381
|
+
<td><pre><a name="line111">111</a> when /^#{AFD_DATA_START_HEADER}/</pre></td>
|
382
|
+
</tr>
|
383
|
+
<tr class="uncovered">
|
384
|
+
<td><pre><a name="line112">112</a> @start_header_received = true</pre></td>
|
385
|
+
</tr>
|
386
|
+
<tr class="uncovered">
|
387
|
+
<td><pre><a name="line113">113</a> expected_size = HEADER_SIZE + get_afd_data_type_size(partial_data)</pre></td>
|
388
|
+
</tr>
|
389
|
+
<tr class="uncovered">
|
390
|
+
<td><pre><a name="line114">114</a> when /^#{AFD_DATA_ONLY_HEADER}/</pre></td>
|
391
|
+
</tr>
|
392
|
+
<tr class="uncovered">
|
393
|
+
<td><pre><a name="line115">115</a> @start_header_received = true</pre></td>
|
394
|
+
</tr>
|
395
|
+
<tr class="uncovered">
|
396
|
+
<td><pre><a name="line116">116</a> expected_size = HEADER_SIZE + get_afd_data_type_size(partial_data)</pre></td>
|
397
|
+
</tr>
|
398
|
+
<tr class="uncovered">
|
399
|
+
<td><pre><a name="line117">117</a> when /^#{AFD_DATA_CONTINUATION_HEADER}/</pre></td>
|
400
|
+
</tr>
|
401
|
+
<tr class="uncovered">
|
402
|
+
<td><pre><a name="line118">118</a> expected_size = HEADER_SIZE + get_afd_data_type_size(partial_data)</pre></td>
|
403
|
+
</tr>
|
404
|
+
<tr class="uncovered">
|
405
|
+
<td><pre><a name="line119">119</a> when /^#{AFD_DATA_END_HEADER}/</pre></td>
|
406
|
+
</tr>
|
407
|
+
<tr class="uncovered">
|
408
|
+
<td><pre><a name="line120">120</a> @end_header_received = true</pre></td>
|
409
|
+
</tr>
|
410
|
+
<tr class="uncovered">
|
411
|
+
<td><pre><a name="line121">121</a> expected_size = HEADER_SIZE + get_afd_data_type_size(partial_data)</pre></td>
|
412
|
+
</tr>
|
413
|
+
<tr class="uncovered">
|
414
|
+
<td><pre><a name="line122">122</a> else</pre></td>
|
415
|
+
</tr>
|
416
|
+
<tr class="uncovered">
|
417
|
+
<td><pre><a name="line123">123</a> if partial_data.size < HEADER_SIZE</pre></td>
|
418
|
+
</tr>
|
419
|
+
<tr class="uncovered">
|
420
|
+
<td><pre><a name="line124">124</a> # new command, get only the header:</pre></td>
|
421
|
+
</tr>
|
422
|
+
<tr class="uncovered">
|
423
|
+
<td><pre><a name="line125">125</a> expected_size = HEADER_SIZE</pre></td>
|
424
|
+
</tr>
|
425
|
+
<tr class="uncovered">
|
426
|
+
<td><pre><a name="line126">126</a> else</pre></td>
|
427
|
+
</tr>
|
428
|
+
<tr class="uncovered">
|
429
|
+
<td><pre><a name="line127">127</a> header = partial_data[0..(HEADER_SIZE-1)]</pre></td>
|
430
|
+
</tr>
|
431
|
+
<tr class="uncovered">
|
432
|
+
<td><pre><a name="line128">128</a> command_name = self.class.name.split('::')[1]</pre></td>
|
433
|
+
</tr>
|
434
|
+
<tr class="uncovered">
|
435
|
+
<td><pre><a name="line129">129</a> raise UnknownHeader.new(header, command_name)</pre></td>
|
436
|
+
</tr>
|
437
|
+
<tr class="uncovered">
|
438
|
+
<td><pre><a name="line130">130</a> end</pre></td>
|
439
|
+
</tr>
|
440
|
+
<tr class="uncovered">
|
441
|
+
<td><pre><a name="line131">131</a> end</pre></td>
|
442
|
+
</tr>
|
443
|
+
<tr class="uncovered">
|
444
|
+
<td><pre><a name="line132">132</a> expected_size</pre></td>
|
445
|
+
</tr>
|
446
|
+
<tr class="uncovered">
|
447
|
+
<td><pre><a name="line133">133</a> end</pre></td>
|
448
|
+
</tr>
|
449
|
+
<tr class="uncovered">
|
450
|
+
<td><pre><a name="line134">134</a> end</pre></td>
|
451
|
+
</tr>
|
452
|
+
<tr class="uncovered">
|
453
|
+
<td><pre><a name="line135">135</a> </pre></td>
|
454
|
+
</tr>
|
455
|
+
<tr class="uncovered">
|
456
|
+
<td><pre><a name="line136">136</a> def get_afd_data_type_size(partial_data)</pre></td>
|
457
|
+
</tr>
|
458
|
+
<tr class="uncovered">
|
459
|
+
<td><pre><a name="line137">137</a> if partial_data.size < 17</pre></td>
|
460
|
+
</tr>
|
461
|
+
<tr class="uncovered">
|
462
|
+
<td><pre><a name="line138">138</a> expected_size = 17</pre></td>
|
463
|
+
</tr>
|
464
|
+
<tr class="uncovered">
|
465
|
+
<td><pre><a name="line139">139</a> else</pre></td>
|
466
|
+
</tr>
|
467
|
+
<tr class="uncovered">
|
468
|
+
<td><pre><a name="line140">140</a> afd_record_id = partial_data[16]</pre></td>
|
469
|
+
</tr>
|
470
|
+
<tr class="uncovered">
|
471
|
+
<td><pre><a name="line141">141</a> expected_size = AFD_SIZES_BY_TYPE[afd_record_id]</pre></td>
|
472
|
+
</tr>
|
473
|
+
<tr class="uncovered">
|
474
|
+
<td><pre><a name="line142">142</a> raise UnknownAfdRecord.new(afd_record_id) if expected_size.nil?</pre></td>
|
475
|
+
</tr>
|
476
|
+
<tr class="uncovered">
|
477
|
+
<td><pre><a name="line143">143</a> end</pre></td>
|
478
|
+
</tr>
|
479
|
+
<tr class="uncovered">
|
480
|
+
<td><pre><a name="line144">144</a> expected_size</pre></td>
|
481
|
+
</tr>
|
482
|
+
<tr class="uncovered">
|
483
|
+
<td><pre><a name="line145">145</a> end</pre></td>
|
484
|
+
</tr>
|
485
|
+
<tr class="uncovered">
|
486
|
+
<td><pre><a name="line146">146</a> </pre></td>
|
487
|
+
</tr>
|
488
|
+
<tr class="uncovered">
|
489
|
+
<td><pre><a name="line147">147</a> def get_response_payload</pre></td>
|
490
|
+
</tr>
|
491
|
+
<tr class="uncovered">
|
492
|
+
<td><pre><a name="line148">148</a> @response_payload = @response[7..-1]</pre></td>
|
493
|
+
</tr>
|
494
|
+
<tr class="uncovered">
|
495
|
+
<td><pre><a name="line149">149</a> end</pre></td>
|
496
|
+
</tr>
|
497
|
+
<tr class="uncovered">
|
498
|
+
<td><pre><a name="line150">150</a> </pre></td>
|
499
|
+
</tr>
|
500
|
+
<tr class="uncovered">
|
501
|
+
<td><pre><a name="line151">151</a> def get_first_command</pre></td>
|
502
|
+
</tr>
|
503
|
+
<tr class="uncovered">
|
504
|
+
<td><pre><a name="line152">152</a> "#{START_COMMAND}#{@first_id.to_s.rjust(9, '0')}99999999"</pre></td>
|
505
|
+
</tr>
|
506
|
+
<tr class="uncovered">
|
507
|
+
<td><pre><a name="line153">153</a> end</pre></td>
|
508
|
+
</tr>
|
509
|
+
<tr class="uncovered">
|
510
|
+
<td><pre><a name="line154">154</a> end</pre></td>
|
511
|
+
</tr>
|
512
|
+
<tr class="uncovered">
|
513
|
+
<td><pre><a name="line155">155</a> </pre></td>
|
514
|
+
</tr>
|
515
|
+
<tr class="uncovered">
|
516
|
+
<td><pre><a name="line156">156</a> require "codin_rep/get_afd_header"</pre></td>
|
517
|
+
</tr>
|
518
|
+
<tr class="uncovered">
|
519
|
+
<td><pre><a name="line157">157</a> end</pre></td>
|
520
|
+
</tr>
|
521
|
+
</tbody>
|
522
|
+
</table>
|
523
|
+
|
524
|
+
<p>Generated on 2017-01-19 17:18:28 -0200 with <a href="https://github.com/fguillen/simplecov-rcov">SimpleCov-RCov 0.2.3</a></p>
|
525
|
+
|
526
|
+
</body>
|
527
|
+
</html>
|