sycsvpro 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. data/Gemfile.lock +3 -1
  2. data/README.md +21 -8
  3. data/README.rdoc +3 -2
  4. data/bin/sycsvpro +17 -6
  5. data/lib/sycsvpro/aggregator.rb +16 -5
  6. data/lib/sycsvpro/calculator.rb +19 -5
  7. data/lib/sycsvpro/counter.rb +17 -7
  8. data/lib/sycsvpro/dsl.rb +43 -0
  9. data/lib/sycsvpro/filter.rb +0 -7
  10. data/lib/sycsvpro/sorter.rb +28 -8
  11. data/lib/sycsvpro/version.rb +1 -1
  12. data/spec/sycsvpro/sorter_spec.rb +50 -0
  13. data/sycsvpro.gemspec +1 -0
  14. metadata +18 -66
  15. data/html/Dsl.html +0 -277
  16. data/html/Object.html +0 -187
  17. data/html/README_rdoc.html +0 -187
  18. data/html/Sycsvpro/Aggregator.html +0 -482
  19. data/html/Sycsvpro/Allocator.html +0 -293
  20. data/html/Sycsvpro/Analyzer.html +0 -239
  21. data/html/Sycsvpro/Calculator.html +0 -407
  22. data/html/Sycsvpro/Collector.html +0 -281
  23. data/html/Sycsvpro/ColumnFilter.html +0 -170
  24. data/html/Sycsvpro/ColumnTypeFilter.html +0 -191
  25. data/html/Sycsvpro/Counter.html +0 -492
  26. data/html/Sycsvpro/Extractor.html +0 -269
  27. data/html/Sycsvpro/Filter.html +0 -411
  28. data/html/Sycsvpro/Header.html +0 -239
  29. data/html/Sycsvpro/Inserter.html +0 -275
  30. data/html/Sycsvpro/Mapper.html +0 -288
  31. data/html/Sycsvpro/Profiler.html +0 -234
  32. data/html/Sycsvpro/RowFilter.html +0 -175
  33. data/html/Sycsvpro/ScriptCreator.html +0 -235
  34. data/html/Sycsvpro/ScriptList.html +0 -281
  35. data/html/Sycsvpro/Sorter.html +0 -346
  36. data/html/Sycsvpro.html +0 -155
  37. data/html/created.rid +0 -24
  38. data/html/fonts/Lato-Light.ttf +0 -0
  39. data/html/fonts/Lato-LightItalic.ttf +0 -0
  40. data/html/fonts/Lato-Regular.ttf +0 -0
  41. data/html/fonts/Lato-RegularItalic.ttf +0 -0
  42. data/html/fonts/SourceCodePro-Bold.ttf +0 -0
  43. data/html/fonts/SourceCodePro-Regular.ttf +0 -0
  44. data/html/fonts.css +0 -167
  45. data/html/images/add.png +0 -0
  46. data/html/images/arrow_up.png +0 -0
  47. data/html/images/brick.png +0 -0
  48. data/html/images/brick_link.png +0 -0
  49. data/html/images/bug.png +0 -0
  50. data/html/images/bullet_black.png +0 -0
  51. data/html/images/bullet_toggle_minus.png +0 -0
  52. data/html/images/bullet_toggle_plus.png +0 -0
  53. data/html/images/date.png +0 -0
  54. data/html/images/delete.png +0 -0
  55. data/html/images/find.png +0 -0
  56. data/html/images/loadingAnimation.gif +0 -0
  57. data/html/images/macFFBgHack.png +0 -0
  58. data/html/images/package.png +0 -0
  59. data/html/images/page_green.png +0 -0
  60. data/html/images/page_white_text.png +0 -0
  61. data/html/images/page_white_width.png +0 -0
  62. data/html/images/plugin.png +0 -0
  63. data/html/images/ruby.png +0 -0
  64. data/html/images/tag_blue.png +0 -0
  65. data/html/images/tag_green.png +0 -0
  66. data/html/images/transparent.png +0 -0
  67. data/html/images/wrench.png +0 -0
  68. data/html/images/wrench_orange.png +0 -0
  69. data/html/images/zoom.png +0 -0
  70. data/html/index.html +0 -225
  71. data/html/js/darkfish.js +0 -140
  72. data/html/js/jquery.js +0 -18
  73. data/html/js/navigation.js +0 -142
  74. data/html/js/search.js +0 -109
  75. data/html/js/search_index.js +0 -1
  76. data/html/js/searcher.js +0 -228
  77. data/html/rdoc.css +0 -580
  78. data/html/table_of_contents.html +0 -347
@@ -1,281 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>class Sycsvpro::Collector - Your application title</title>
8
-
9
- <link href="../fonts.css" rel="stylesheet">
10
- <link href="../rdoc.css" rel="stylesheet">
11
-
12
- <script type="text/javascript">
13
- var rdoc_rel_prefix = "../";
14
- </script>
15
-
16
- <script src="../js/jquery.js"></script>
17
- <script src="../js/navigation.js"></script>
18
- <script src="../js/search_index.js"></script>
19
- <script src="../js/search.js"></script>
20
- <script src="../js/searcher.js"></script>
21
- <script src="../js/darkfish.js"></script>
22
-
23
-
24
- <body id="top" role="document" class="class">
25
- <nav role="navigation">
26
- <div id="project-navigation">
27
- <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
- <h2>
29
- <a href="../index.html" rel="home">Home</a>
30
- </h2>
31
-
32
- <div id="table-of-contents-navigation">
33
- <a href="../table_of_contents.html#pages">Pages</a>
34
- <a href="../table_of_contents.html#classes">Classes</a>
35
- <a href="../table_of_contents.html#methods">Methods</a>
36
- </div>
37
- </div>
38
-
39
- <div id="search-section" role="search" class="project-section initially-hidden">
40
- <form action="#" method="get" accept-charset="utf-8">
41
- <div id="search-field-wrapper">
42
- <input id="search-field" role="combobox" aria-label="Search"
43
- aria-autocomplete="list" aria-controls="search-results"
44
- type="text" name="search" placeholder="Search" spellcheck="false"
45
- title="Type to search, Up and Down to navigate, Enter to load">
46
- </div>
47
-
48
- <ul id="search-results" aria-label="Search Results"
49
- aria-busy="false" aria-expanded="false"
50
- aria-atomic="false" class="initially-hidden"></ul>
51
- </form>
52
- </div>
53
-
54
- </div>
55
-
56
-
57
-
58
- <div id="class-metadata">
59
-
60
- <div id="parent-class-section" class="nav-section">
61
- <h3>Parent</h3>
62
-
63
-
64
- <p class="link"><a href="../Object.html">Object</a>
65
-
66
- </div>
67
-
68
-
69
-
70
- <!-- Method Quickref -->
71
- <div id="method-list-section" class="nav-section">
72
- <h3>Methods</h3>
73
-
74
- <ul class="link-list" role="directory">
75
-
76
- <li ><a href="#method-c-new">::new</a>
77
-
78
- <li ><a href="#method-i-execute">#execute</a>
79
-
80
- </ul>
81
- </div>
82
-
83
- </div>
84
- </nav>
85
-
86
- <main role="main" aria-labelledby="class-Sycsvpro::Collector">
87
- <h1 id="class-Sycsvpro::Collector" class="class">
88
- class Sycsvpro::Collector
89
- </h1>
90
-
91
- <section class="description">
92
-
93
- <p>Collects values from rows and groups them in categories</p>
94
-
95
- </section>
96
-
97
-
98
-
99
-
100
- <section id="5Buntitled-5D" class="documentation-section">
101
-
102
-
103
-
104
-
105
-
106
-
107
-
108
- <section class="attribute-method-details" class="method-section">
109
- <header>
110
- <h3>Attributes</h3>
111
- </header>
112
-
113
-
114
- <div id="attribute-i-collection" class="method-detail">
115
- <div class="method-heading attribute-method-heading">
116
- <span class="method-name">collection</span><span
117
- class="attribute-access-type">[R]</span>
118
- </div>
119
-
120
- <div class="method-description">
121
-
122
- <p>collected values assigned to categories</p>
123
-
124
- </div>
125
- </div>
126
-
127
- <div id="attribute-i-infile" class="method-detail">
128
- <div class="method-heading attribute-method-heading">
129
- <span class="method-name">infile</span><span
130
- class="attribute-access-type">[R]</span>
131
- </div>
132
-
133
- <div class="method-description">
134
-
135
- <p>infile contains the data that is operated on</p>
136
-
137
- </div>
138
- </div>
139
-
140
- <div id="attribute-i-outfile" class="method-detail">
141
- <div class="method-heading attribute-method-heading">
142
- <span class="method-name">outfile</span><span
143
- class="attribute-access-type">[R]</span>
144
- </div>
145
-
146
- <div class="method-description">
147
-
148
- <p>outfile is the file where the result is written to</p>
149
-
150
- </div>
151
- </div>
152
-
153
- <div id="attribute-i-row_filter" class="method-detail">
154
- <div class="method-heading attribute-method-heading">
155
- <span class="method-name">row_filter</span><span
156
- class="attribute-access-type">[R]</span>
157
- </div>
158
-
159
- <div class="method-description">
160
-
161
- <p>filter that is used for rows</p>
162
-
163
- </div>
164
- </div>
165
-
166
- </section>
167
-
168
-
169
-
170
- <section id="public-class-5Buntitled-5D-method-details" class="method-section">
171
- <header>
172
- <h3>Public Class Methods</h3>
173
- </header>
174
-
175
-
176
- <div id="method-c-new" class="method-detail ">
177
-
178
- <div class="method-heading">
179
- <span class="method-name">new</span><span
180
- class="method-args">(options={})</span>
181
-
182
- <span class="method-click-advice">click to toggle source</span>
183
-
184
- </div>
185
-
186
-
187
- <div class="method-description">
188
-
189
- <p>Creates a new <a href="Collector.html">Collector</a></p>
190
-
191
-
192
-
193
-
194
- <div class="method-source-code" id="new-source">
195
- <pre><span class="ruby-comment"># File lib/sycsvpro/collector.rb, line 20</span>
196
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span>={})
197
- <span class="ruby-ivar">@infile</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:infile</span>]
198
- <span class="ruby-ivar">@outfile</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:outfile</span>]
199
- <span class="ruby-ivar">@row_filter</span> = <span class="ruby-constant">RowFilter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:rows</span>])
200
- <span class="ruby-ivar">@collection</span> = {}
201
- <span class="ruby-identifier">init_collection</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:cols</span>])
202
- <span class="ruby-keyword">end</span></pre>
203
- </div>
204
-
205
- </div>
206
-
207
-
208
-
209
-
210
- </div>
211
-
212
-
213
- </section>
214
-
215
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
216
- <header>
217
- <h3>Public Instance Methods</h3>
218
- </header>
219
-
220
-
221
- <div id="method-i-execute" class="method-detail ">
222
-
223
- <div class="method-heading">
224
- <span class="method-name">execute</span><span
225
- class="method-args">()</span>
226
-
227
- <span class="method-click-advice">click to toggle source</span>
228
-
229
- </div>
230
-
231
-
232
- <div class="method-description">
233
-
234
- <p>Execute the collector</p>
235
-
236
-
237
-
238
-
239
- <div class="method-source-code" id="execute-source">
240
- <pre><span class="ruby-comment"># File lib/sycsvpro/collector.rb, line 29</span>
241
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">execute</span>
242
- <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">infile</span>).<span class="ruby-identifier">each_with_index</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span>, <span class="ruby-identifier">index</span><span class="ruby-operator">|</span>
243
- <span class="ruby-identifier">row</span> = <span class="ruby-identifier">row_filter</span>.<span class="ruby-identifier">process</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">row</span><span class="ruby-operator">:</span> <span class="ruby-identifier">index</span>)
244
- <span class="ruby-keyword">next</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">chomp</span>.<span class="ruby-identifier">empty?</span>
245
- <span class="ruby-identifier">collection</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">category</span>, <span class="ruby-identifier">elements</span><span class="ruby-operator">|</span>
246
- <span class="ruby-identifier">values</span> = <span class="ruby-identifier">elements</span>[<span class="ruby-value">:filter</span>].<span class="ruby-identifier">process</span>(<span class="ruby-identifier">row</span>)
247
- <span class="ruby-identifier">values</span>.<span class="ruby-identifier">chomp</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">&#39;;&#39;</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
248
- <span class="ruby-identifier">elements</span>[<span class="ruby-value">:entries</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">chomp</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">elements</span>[<span class="ruby-value">:entries</span>].<span class="ruby-identifier">index</span>(<span class="ruby-identifier">value</span>.<span class="ruby-identifier">chomp</span>).<span class="ruby-identifier">nil?</span>
249
- <span class="ruby-keyword">end</span>
250
- <span class="ruby-keyword">end</span>
251
- <span class="ruby-keyword">end</span>
252
-
253
- <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">outfile</span>, <span class="ruby-string">&#39;w&#39;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">out</span><span class="ruby-operator">|</span>
254
- <span class="ruby-identifier">collection</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">category</span>, <span class="ruby-identifier">elements</span><span class="ruby-operator">|</span>
255
- <span class="ruby-identifier">out</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;[#{category}]&quot;</span>
256
- <span class="ruby-identifier">elements</span>[<span class="ruby-value">:entries</span>].<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">out</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">c</span> }
257
- <span class="ruby-keyword">end</span>
258
- <span class="ruby-keyword">end</span>
259
- <span class="ruby-keyword">end</span></pre>
260
- </div>
261
-
262
- </div>
263
-
264
-
265
-
266
-
267
- </div>
268
-
269
-
270
- </section>
271
-
272
- </section>
273
- </main>
274
-
275
-
276
- <footer id="validator-badges" role="contentinfo">
277
- <p><a href="http://validator.w3.org/check/referer">Validate</a>
278
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.1.
279
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
280
- </footer>
281
-
@@ -1,170 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>class Sycsvpro::ColumnFilter - Your application title</title>
8
-
9
- <link href="../fonts.css" rel="stylesheet">
10
- <link href="../rdoc.css" rel="stylesheet">
11
-
12
- <script type="text/javascript">
13
- var rdoc_rel_prefix = "../";
14
- </script>
15
-
16
- <script src="../js/jquery.js"></script>
17
- <script src="../js/navigation.js"></script>
18
- <script src="../js/search_index.js"></script>
19
- <script src="../js/search.js"></script>
20
- <script src="../js/searcher.js"></script>
21
- <script src="../js/darkfish.js"></script>
22
-
23
-
24
- <body id="top" role="document" class="class">
25
- <nav role="navigation">
26
- <div id="project-navigation">
27
- <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
- <h2>
29
- <a href="../index.html" rel="home">Home</a>
30
- </h2>
31
-
32
- <div id="table-of-contents-navigation">
33
- <a href="../table_of_contents.html#pages">Pages</a>
34
- <a href="../table_of_contents.html#classes">Classes</a>
35
- <a href="../table_of_contents.html#methods">Methods</a>
36
- </div>
37
- </div>
38
-
39
- <div id="search-section" role="search" class="project-section initially-hidden">
40
- <form action="#" method="get" accept-charset="utf-8">
41
- <div id="search-field-wrapper">
42
- <input id="search-field" role="combobox" aria-label="Search"
43
- aria-autocomplete="list" aria-controls="search-results"
44
- type="text" name="search" placeholder="Search" spellcheck="false"
45
- title="Type to search, Up and Down to navigate, Enter to load">
46
- </div>
47
-
48
- <ul id="search-results" aria-label="Search Results"
49
- aria-busy="false" aria-expanded="false"
50
- aria-atomic="false" class="initially-hidden"></ul>
51
- </form>
52
- </div>
53
-
54
- </div>
55
-
56
-
57
-
58
- <div id="class-metadata">
59
-
60
- <div id="parent-class-section" class="nav-section">
61
- <h3>Parent</h3>
62
-
63
-
64
- <p class="link">Filter
65
-
66
- </div>
67
-
68
-
69
-
70
- <!-- Method Quickref -->
71
- <div id="method-list-section" class="nav-section">
72
- <h3>Methods</h3>
73
-
74
- <ul class="link-list" role="directory">
75
-
76
- <li ><a href="#method-i-process">#process</a>
77
-
78
- </ul>
79
- </div>
80
-
81
- </div>
82
- </nav>
83
-
84
- <main role="main" aria-labelledby="class-Sycsvpro::ColumnFilter">
85
- <h1 id="class-Sycsvpro::ColumnFilter" class="class">
86
- class Sycsvpro::ColumnFilter
87
- </h1>
88
-
89
- <section class="description">
90
-
91
- <p>Creates a new column filter</p>
92
-
93
- </section>
94
-
95
-
96
-
97
-
98
- <section id="5Buntitled-5D" class="documentation-section">
99
-
100
-
101
-
102
-
103
-
104
-
105
-
106
-
107
-
108
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
109
- <header>
110
- <h3>Public Instance Methods</h3>
111
- </header>
112
-
113
-
114
- <div id="method-i-process" class="method-detail ">
115
-
116
- <div class="method-heading">
117
- <span class="method-name">process</span><span
118
- class="method-args">(object, options={})</span>
119
-
120
- <span class="method-click-advice">click to toggle source</span>
121
-
122
- </div>
123
-
124
-
125
- <div class="method-description">
126
-
127
- <p>Processes the filter and returns the values that respect the filter</p>
128
-
129
-
130
-
131
-
132
- <div class="method-source-code" id="process-source">
133
- <pre><span class="ruby-comment"># File lib/sycsvpro/column_filter.rb, line 10</span>
134
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">process</span>(<span class="ruby-identifier">object</span>, <span class="ruby-identifier">options</span>={})
135
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">object</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">object</span>.<span class="ruby-identifier">empty?</span>
136
- <span class="ruby-identifier">object</span> = <span class="ruby-identifier">object</span>.<span class="ruby-identifier">encode</span>(<span class="ruby-string">&#39;UTF-8&#39;</span>, <span class="ruby-string">&#39;binary&#39;</span>, <span class="ruby-identifier">invalid</span><span class="ruby-operator">:</span> <span class="ruby-value">:replace</span>, <span class="ruby-keyword">undef</span><span class="ruby-operator">:</span> <span class="ruby-value">:replace</span>, <span class="ruby-identifier">replace</span><span class="ruby-operator">:</span> <span class="ruby-string">&#39;&#39;</span>)
137
- <span class="ruby-identifier">object</span> <span class="ruby-operator">+=</span> <span class="ruby-string">&quot; &quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">object</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/;$/</span>
138
- <span class="ruby-keyword">return</span> <span class="ruby-identifier">object</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">filter</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">pivot</span>.<span class="ruby-identifier">empty?</span>
139
- <span class="ruby-identifier">filtered</span> = <span class="ruby-identifier">object</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">&#39;;&#39;</span>).<span class="ruby-identifier">values_at</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">filter</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">uniq</span>)
140
- <span class="ruby-identifier">pivot_each_column</span>(<span class="ruby-identifier">object</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">&#39;;&#39;</span>)) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">column</span>, <span class="ruby-identifier">match</span><span class="ruby-operator">|</span>
141
- <span class="ruby-identifier">filtered</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">column</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">match</span>
142
- <span class="ruby-keyword">end</span>
143
- <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">filtered</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">filtered</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">empty?</span>
144
- <span class="ruby-identifier">filtered</span>.<span class="ruby-identifier">compact</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;;&#39;</span>) <span class="ruby-operator">+</span> <span class="ruby-string">&quot; &quot;</span>
145
- <span class="ruby-keyword">else</span>
146
- <span class="ruby-identifier">filtered</span>.<span class="ruby-identifier">compact</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;;&#39;</span>)
147
- <span class="ruby-keyword">end</span>
148
- <span class="ruby-keyword">end</span></pre>
149
- </div>
150
-
151
- </div>
152
-
153
-
154
-
155
-
156
- </div>
157
-
158
-
159
- </section>
160
-
161
- </section>
162
- </main>
163
-
164
-
165
- <footer id="validator-badges" role="contentinfo">
166
- <p><a href="http://validator.w3.org/check/referer">Validate</a>
167
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.1.
168
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
169
- </footer>
170
-
@@ -1,191 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>class Sycsvpro::ColumnTypeFilter - Your application title</title>
8
-
9
- <link href="../fonts.css" rel="stylesheet">
10
- <link href="../rdoc.css" rel="stylesheet">
11
-
12
- <script type="text/javascript">
13
- var rdoc_rel_prefix = "../";
14
- </script>
15
-
16
- <script src="../js/jquery.js"></script>
17
- <script src="../js/navigation.js"></script>
18
- <script src="../js/search_index.js"></script>
19
- <script src="../js/search.js"></script>
20
- <script src="../js/searcher.js"></script>
21
- <script src="../js/darkfish.js"></script>
22
-
23
-
24
- <body id="top" role="document" class="class">
25
- <nav role="navigation">
26
- <div id="project-navigation">
27
- <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
- <h2>
29
- <a href="../index.html" rel="home">Home</a>
30
- </h2>
31
-
32
- <div id="table-of-contents-navigation">
33
- <a href="../table_of_contents.html#pages">Pages</a>
34
- <a href="../table_of_contents.html#classes">Classes</a>
35
- <a href="../table_of_contents.html#methods">Methods</a>
36
- </div>
37
- </div>
38
-
39
- <div id="search-section" role="search" class="project-section initially-hidden">
40
- <form action="#" method="get" accept-charset="utf-8">
41
- <div id="search-field-wrapper">
42
- <input id="search-field" role="combobox" aria-label="Search"
43
- aria-autocomplete="list" aria-controls="search-results"
44
- type="text" name="search" placeholder="Search" spellcheck="false"
45
- title="Type to search, Up and Down to navigate, Enter to load">
46
- </div>
47
-
48
- <ul id="search-results" aria-label="Search Results"
49
- aria-busy="false" aria-expanded="false"
50
- aria-atomic="false" class="initially-hidden"></ul>
51
- </form>
52
- </div>
53
-
54
- </div>
55
-
56
-
57
-
58
- <div id="class-metadata">
59
-
60
- <div id="parent-class-section" class="nav-section">
61
- <h3>Parent</h3>
62
-
63
-
64
- <p class="link"><a href="ColumnFilter.html">Sycsvpro::ColumnFilter</a>
65
-
66
- </div>
67
-
68
-
69
-
70
- <!-- Method Quickref -->
71
- <div id="method-list-section" class="nav-section">
72
- <h3>Methods</h3>
73
-
74
- <ul class="link-list" role="directory">
75
-
76
- <li class="calls-super" ><a href="#method-i-process">#process</a>
77
-
78
- </ul>
79
- </div>
80
-
81
- </div>
82
- </nav>
83
-
84
- <main role="main" aria-labelledby="class-Sycsvpro::ColumnTypeFilter">
85
- <h1 id="class-Sycsvpro::ColumnTypeFilter" class="class">
86
- class Sycsvpro::ColumnTypeFilter
87
- </h1>
88
-
89
- <section class="description">
90
-
91
- <p>Create a filter based on a colum and its type</p>
92
-
93
- </section>
94
-
95
-
96
-
97
-
98
- <section id="5Buntitled-5D" class="documentation-section">
99
-
100
-
101
-
102
-
103
-
104
-
105
-
106
-
107
-
108
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
109
- <header>
110
- <h3>Public Instance Methods</h3>
111
- </header>
112
-
113
-
114
- <div id="method-i-process" class="method-detail ">
115
-
116
- <div class="method-heading">
117
- <span class="method-name">process</span><span
118
- class="method-args">(object, options={})</span>
119
-
120
- <span class="method-click-advice">click to toggle source</span>
121
-
122
- </div>
123
-
124
-
125
- <div class="method-description">
126
-
127
- <p>Processes the filter and returns the filtered columns</p>
128
-
129
-
130
- <div class="method-calls-super">
131
- Calls superclass method
132
- <a href="ColumnFilter.html#method-i-process">Sycsvpro::ColumnFilter#process</a>
133
- </div>
134
-
135
-
136
-
137
- <div class="method-source-code" id="process-source">
138
- <pre><span class="ruby-comment"># File lib/sycsvpro/column_type_filter.rb, line 8</span>
139
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">process</span>(<span class="ruby-identifier">object</span>, <span class="ruby-identifier">options</span>={})
140
- <span class="ruby-identifier">filtered</span> = <span class="ruby-keyword">super</span>(<span class="ruby-identifier">object</span>, <span class="ruby-identifier">options</span>)
141
-
142
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">filtered</span>.<span class="ruby-identifier">nil?</span>
143
-
144
- <span class="ruby-identifier">values</span> = <span class="ruby-identifier">filtered</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">&#39;;&#39;</span>)
145
-
146
- <span class="ruby-identifier">values</span>.<span class="ruby-identifier">each_with_index</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span>, <span class="ruby-identifier">index</span><span class="ruby-operator">|</span>
147
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">types</span>[<span class="ruby-identifier">index</span>] <span class="ruby-operator">==</span> <span class="ruby-string">&#39;n&#39;</span>
148
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">value</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/\./</span>
149
- <span class="ruby-identifier">number_value</span> = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_f</span>
150
- <span class="ruby-keyword">else</span>
151
- <span class="ruby-identifier">number_value</span> = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_i</span>
152
- <span class="ruby-keyword">end</span>
153
- <span class="ruby-identifier">values</span>[<span class="ruby-identifier">index</span>] = <span class="ruby-identifier">number_value</span>
154
- <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">types</span>[<span class="ruby-identifier">index</span>] <span class="ruby-operator">==</span> <span class="ruby-string">&#39;d&#39;</span>
155
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">empty?</span>
156
- <span class="ruby-identifier">date</span> = <span class="ruby-constant">Date</span>.<span class="ruby-identifier">strptime</span>(<span class="ruby-string">&#39;9999-9-9&#39;</span>, <span class="ruby-string">&#39;%Y-%m-%d&#39;</span>)
157
- <span class="ruby-keyword">else</span>
158
- <span class="ruby-keyword">begin</span>
159
- <span class="ruby-identifier">date</span> = <span class="ruby-constant">Date</span>.<span class="ruby-identifier">strptime</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">date_format</span>)
160
- <span class="ruby-keyword">rescue</span>
161
- <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Error #{value}, #{index}&quot;</span>
162
- <span class="ruby-keyword">end</span>
163
- <span class="ruby-keyword">end</span>
164
- <span class="ruby-identifier">values</span>[<span class="ruby-identifier">index</span>] = <span class="ruby-identifier">date</span>
165
- <span class="ruby-keyword">end</span>
166
- <span class="ruby-keyword">end</span>
167
-
168
- <span class="ruby-identifier">values</span>
169
- <span class="ruby-keyword">end</span></pre>
170
- </div>
171
-
172
- </div>
173
-
174
-
175
-
176
-
177
- </div>
178
-
179
-
180
- </section>
181
-
182
- </section>
183
- </main>
184
-
185
-
186
- <footer id="validator-badges" role="contentinfo">
187
- <p><a href="http://validator.w3.org/check/referer">Validate</a>
188
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.1.
189
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
190
- </footer>
191
-