qiflib 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/html/index.html CHANGED
@@ -1,30 +1,85 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
3
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1
+ <!DOCTYPE html>
4
2
 
5
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+ <html>
6
4
  <head>
7
- <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
8
6
 
9
- <title>qiflib</title>
7
+ <title>qiflib</title>
10
8
 
11
- <link type="text/css" media="screen" href="rdoc.css" rel="stylesheet" />
9
+ <link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
12
10
 
13
- <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
14
- <script src="js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
15
- <script src="js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
16
- <script src="js/darkfish.js" type="text/javascript" charset="utf-8"></script>
11
+ <script type="text/javascript">
12
+ var rdoc_rel_prefix = "./";
13
+ </script>
17
14
 
18
- </head>
19
- <body class="indexpage">
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>
20
21
 
22
+
23
+ <body>
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
+ <div id="project-metadata">
47
+ <nav id="fileindex-section" class="section project-section">
48
+ <h3 class="section-header">Pages</h3>
49
+
50
+ <ul>
51
+
52
+ <li class="file"><a href="./README_rdoc.html">README</a>
21
53
 
22
- <h1>qiflib</h1>
54
+ </ul>
55
+ </nav>
56
+
57
+ <nav id="classindex-section" class="section project-section">
58
+ <h3 class="section-header">Class and Module Index</h3>
23
59
 
60
+ <ul class="link-list">
61
+
62
+ <li><a href="./Qiflib.html">Qiflib</a>
63
+
64
+ <li><a href="./Qiflib/Category.html">Qiflib::Category</a>
65
+
66
+ <li><a href="./Qiflib/Date.html">Qiflib::Date</a>
24
67
 
25
- <div id="main">
26
-
27
- <h2><a href="Qiflib.html">Qiflib</a></h2>
68
+ <li><a href="./Qiflib/Money.html">Qiflib::Money</a>
69
+
70
+ <li><a href="./Qiflib/Transaction.html">Qiflib::Transaction</a>
71
+
72
+ <li><a href="./Qiflib/Util.html">Qiflib::Util</a>
73
+
74
+ </ul>
75
+ </nav>
76
+
77
+ </div>
78
+ </nav>
79
+
80
+ <div id="documentation" class="description">
81
+
82
+ <h2 id="label-Qiflib"><a href="Qiflib.html">Qiflib</a><span><a href="#label-Qiflib">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
28
83
 
29
84
  <p>A ruby library for reading and parsing qif files.</p>
30
85
 
@@ -37,73 +92,74 @@ each transaction.</p>
37
92
  <p>Also includes DDL generation for importing the parsed categories and
38
93
  transactions into a sqlite3 database.</p>
39
94
 
40
- <h2>Install</h2>
95
+ <h2 id="label-Install">Install<span><a href="#label-Install">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
41
96
 
42
97
  <pre>gem install qiflib</pre>
43
98
 
44
- <h2>Synopsis</h2>
99
+ <h2 id="label-Synopsis">Synopsis<span><a href="#label-Synopsis">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
45
100
 
46
- <pre># Parse the transactions from one or more files to csv.
47
- # Due to a discrepancy between the way iBank and Quicken export
48
- # qif files, you need to specify either Qiflib::SOURCE_IBANK or
49
- # Qiflib::SOURCE_QUICKEN as the :source.
101
+ <pre class="ruby"><span class="ruby-comment"># Parse the transactions from one or more files to csv.</span>
102
+ <span class="ruby-comment"># Due to a discrepancy between the way iBank and Quicken export</span>
103
+ <span class="ruby-comment"># qif files, you need to specify either Qiflib::SOURCE_IBANK or</span>
104
+ <span class="ruby-comment"># Qiflib::SOURCE_QUICKEN as the :source.</span>
50
105
 
51
- input_list = []
52
- input_list &lt;&lt; {
53
- :owner =&gt; 'Chris',
54
- :filename =&gt; 'data/ibank_cj.qif',
55
- :source =&gt; Qiflib::SOURCE_IBANK }
56
- input_list &lt;&lt; {
57
- :owner =&gt; 'Teri',
58
- :filename =&gt; 'data/ibank_tj.qif',
59
- :source =&gt; Qiflib::SOURCE_QUICKEN }
106
+ <span class="ruby-identifier">input_list</span> = []
107
+ <span class="ruby-identifier">input_list</span> <span class="ruby-operator">&lt;&lt;</span> {
108
+ :<span class="ruby-identifier">owner</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;Chris&#39;</span>,
109
+ :<span class="ruby-identifier">filename</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;data/ibank_cj.qif&#39;</span>,
110
+ :<span class="ruby-identifier">source</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Qiflib</span><span class="ruby-operator">::</span><span class="ruby-constant">SOURCE_IBANK</span> }
111
+ <span class="ruby-identifier">input_list</span> <span class="ruby-operator">&lt;&lt;</span> {
112
+ :<span class="ruby-identifier">owner</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;Teri&#39;</span>,
113
+ :<span class="ruby-identifier">filename</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;data/ibank_tj.qif&#39;</span>,
114
+ :<span class="ruby-identifier">source</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Qiflib</span><span class="ruby-operator">::</span><span class="ruby-constant">SOURCE_QUICKEN</span> }
60
115
 
61
- csv_lines = Qiflib::Util.transactions_to_csv(input_list)
116
+ <span class="ruby-identifier">csv_lines</span> = <span class="ruby-constant">Qiflib</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">transactions_to_csv</span>(<span class="ruby-identifier">input_list</span>)
62
117
 
63
- ... write csv_lines to a file
118
+ <span class="ruby-operator">...</span> <span class="ruby-identifier">write</span> <span class="ruby-identifier">csv_lines</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">a</span> <span class="ruby-identifier">file</span>
64
119
 
65
- # Parse the transactions from one or more files to ^-delimited text.
66
- # The text lines are suitable for loading to sqlite3.
120
+ <span class="ruby-comment"># Parse the transactions from one or more files to ^-delimited text. </span>
121
+ <span class="ruby-comment"># The text lines are suitable for loading to sqlite3.</span>
67
122
 
68
- input_list = []
69
- input_list &lt;&lt; {
70
- :owner =&gt; 'Chris',
71
- :filename =&gt; 'data/ibank_cj.qif',
72
- :source =&gt; Qiflib::SOURCE_IBANK }
123
+ <span class="ruby-identifier">input_list</span> = []
124
+ <span class="ruby-identifier">input_list</span> <span class="ruby-operator">&lt;&lt;</span> {
125
+ :<span class="ruby-identifier">owner</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;Chris&#39;</span>,
126
+ :<span class="ruby-identifier">filename</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;data/ibank_cj.qif&#39;</span>,
127
+ :<span class="ruby-identifier">source</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Qiflib</span><span class="ruby-operator">::</span><span class="ruby-constant">SOURCE_IBANK</span> }
73
128
 
74
- delim_lines = Qiflib::Util.transactions_to_delim(input_list)
129
+ <span class="ruby-identifier">delim_lines</span> = <span class="ruby-constant">Qiflib</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">transactions_to_delim</span>(<span class="ruby-identifier">input_list</span>)
75
130
 
76
- ... write delim_lines to a file
131
+ <span class="ruby-operator">...</span> <span class="ruby-identifier">write</span> <span class="ruby-identifier">delim_lines</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">a</span> <span class="ruby-identifier">file</span>
77
132
 
78
- # Parse the categories from one or more files to csv.
133
+ <span class="ruby-comment"># Parse the categories from one or more files to csv.</span>
79
134
 
80
- input_list = [ 'data/ibank_cj.qif' ]
81
- csv_lines = Qiflib::Util.catetory_names_to_csv(input_list)
135
+ <span class="ruby-identifier">input_list</span> = [ <span class="ruby-string">&#39;data/ibank_cj.qif&#39;</span> ]
136
+ <span class="ruby-identifier">csv_lines</span> = <span class="ruby-constant">Qiflib</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">catetory_names_to_csv</span>(<span class="ruby-identifier">input_list</span>)
82
137
 
83
- ... write csv_lines to a file
138
+ <span class="ruby-operator">...</span> <span class="ruby-identifier">write</span> <span class="ruby-identifier">csv_lines</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">a</span> <span class="ruby-identifier">file</span>
84
139
 
85
- # Parse the categories from one or more files to ^-delimited text.
86
- # The text lines are suitable for loading to sqlite3.
140
+ <span class="ruby-comment"># Parse the categories from one or more files to ^-delimited text. </span>
141
+ <span class="ruby-comment"># The text lines are suitable for loading to sqlite3. </span>
87
142
 
88
- input_list = [ 'data/ibank_cj.qif' ]
89
- delim_lines = Qiflib::Util.catetory_names_to_delim(input_list)
143
+ <span class="ruby-identifier">input_list</span> = [ <span class="ruby-string">&#39;data/ibank_cj.qif&#39;</span> ]
144
+ <span class="ruby-identifier">delim_lines</span> = <span class="ruby-constant">Qiflib</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">catetory_names_to_delim</span>(<span class="ruby-identifier">input_list</span>)
90
145
 
91
- ... write delim_lines to a file
146
+ <span class="ruby-operator">...</span> <span class="ruby-identifier">write</span> <span class="ruby-identifier">delim_lines</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">a</span> <span class="ruby-identifier">file</span>
92
147
 
93
- # Generate the DDL for a sqlite3 database with categories and transactions tables.
148
+ <span class="ruby-comment"># Generate the DDL for a sqlite3 database with categories and transactions tables.</span>
94
149
 
95
- ddl_lines = Qiflib::Util.generate_sqlite_ddl
150
+ <span class="ruby-identifier">ddl_lines</span> = <span class="ruby-constant">Qiflib</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">generate_sqlite_ddl</span>
96
151
 
97
- ... write ddl_lines to a file; use it in the following bash-shell script
152
+ <span class="ruby-operator">...</span> <span class="ruby-identifier">write</span> <span class="ruby-identifier">ddl_lines</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">a</span> <span class="ruby-identifier">file</span>; <span class="ruby-identifier">use</span> <span class="ruby-identifier">it</span> <span class="ruby-keyword">in</span> <span class="ruby-identifier">the</span> <span class="ruby-identifier">following</span> <span class="ruby-identifier">bash</span><span class="ruby-operator">-</span><span class="ruby-identifier">shell</span> <span class="ruby-identifier">script</span>
98
153
 
99
- # Generate a bash-shell script to load the categories and transactions
100
- # delimited files into a sqlite3 database, using the above DDL.
154
+ <span class="ruby-comment"># Generate a bash-shell script to load the categories and transactions </span>
155
+ <span class="ruby-comment"># delimited files into a sqlite3 database, using the above DDL.</span>
101
156
 
102
- sh_lines = Qiflib::Util.generate_sqlite_load_script
157
+ <span class="ruby-identifier">sh_lines</span> = <span class="ruby-constant">Qiflib</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">generate_sqlite_load_script</span>
103
158
 
104
- ... write sh_lines to a file; chmod 744; run it.</pre>
159
+ <span class="ruby-operator">...</span> <span class="ruby-identifier">write</span> <span class="ruby-identifier">sh_lines</span> <span class="ruby-identifier">to</span> <span class="ruby-identifier">a</span> <span class="ruby-identifier">file</span>; <span class="ruby-identifier">chmod</span> <span class="ruby-value">744</span>; <span class="ruby-identifier">run</span> <span class="ruby-identifier">it</span>.
160
+ </pre>
105
161
 
106
- <h2>Generated DDL</h2>
162
+ <h2 id="label-Generated+DDL">Generated DDL<span><a href="#label-Generated+DDL">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
107
163
 
108
164
  <pre># DDL file for sqlite3
109
165
 
@@ -146,12 +202,12 @@ create table categories(
146
202
  name varchar(80)
147
203
  );
148
204
 
149
- .separator '^'
205
+ .separator &#39;^&#39;
150
206
 
151
207
  .import qiflib_transactions.txt transactions
152
208
  .import qiflib_categories.txt categories</pre>
153
209
 
154
- <h2>Generated shell script </h2>
210
+ <h2 id="label-Generated+shell+script+">Generated shell script <span><a href="#label-Generated+shell+script+">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
155
211
 
156
212
  <pre># bash-shell script
157
213
 
@@ -159,104 +215,18 @@ create table categories(
159
215
 
160
216
  sqlite3 qiflib.db &lt; qiflib.ddl</pre>
161
217
 
162
- <h2>Copyright and License</h2>
218
+ <h2 id="label-Copyright+and+License">Copyright and License<span><a href="#label-Copyright+and+License">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
163
219
 
164
220
  <p>Copyright 2013, Chris Joakim &lt;cjoakim@bellsouth.net&gt;.</p>
165
221
 
166
222
  <p>GNU General Public License (GPLv3) license. See <a
167
223
  href="http://www.gnu.org/copyleft/gpl.html">www.gnu.org/copyleft/gpl.html</a></p>
224
+ </div>
168
225
 
169
- </div>
170
-
171
-
172
-
173
-
174
- <h2>Files</h2>
175
- <ul>
176
-
177
- <li class="file"><a href="README_rdoc.html">README.rdoc</a></li>
178
-
179
- </ul>
180
-
181
-
182
- <h2 id="classes">Classes/Modules</h2>
183
- <ul>
184
-
185
- <li class="module"><a href="Qiflib.html">Qiflib</a></li>
186
-
187
- <li class="class"><a href="Qiflib/Category.html">Qiflib::Category</a></li>
188
-
189
- <li class="class"><a href="Qiflib/Date.html">Qiflib::Date</a></li>
190
-
191
- <li class="class"><a href="Qiflib/Money.html">Qiflib::Money</a></li>
192
-
193
- <li class="class"><a href="Qiflib/Transaction.html">Qiflib::Transaction</a></li>
194
-
195
- <li class="class"><a href="Qiflib/Util.html">Qiflib::Util</a></li>
196
-
197
- </ul>
198
226
 
199
- <h2 id="methods">Methods</h2>
200
- <ul>
201
-
202
- <li><a href="Qiflib/Util.html#method-c-catetory_names_to_csv">::catetory_names_to_csv &mdash; Qiflib::Util</a></li>
203
-
204
- <li><a href="Qiflib/Util.html#method-c-catetory_names_to_delim">::catetory_names_to_delim &mdash; Qiflib::Util</a></li>
205
-
206
- <li><a href="Qiflib.html#method-c-csv_category_field_names">::csv_category_field_names &mdash; Qiflib</a></li>
207
-
208
- <li><a href="Qiflib/Category.html#method-c-csv_header">::csv_header &mdash; Qiflib::Category</a></li>
209
-
210
- <li><a href="Qiflib/Transaction.html#method-c-csv_header">::csv_header &mdash; Qiflib::Transaction</a></li>
211
-
212
- <li><a href="Qiflib.html#method-c-csv_transaction_field_names">::csv_transaction_field_names &mdash; Qiflib</a></li>
213
-
214
- <li><a href="Qiflib/Util.html#method-c-generate_sqlite_ddl">::generate_sqlite_ddl &mdash; Qiflib::Util</a></li>
215
-
216
- <li><a href="Qiflib/Util.html#method-c-generate_sqlite_load_script">::generate_sqlite_load_script &mdash; Qiflib::Util</a></li>
217
-
218
- <li><a href="Qiflib/Transaction.html#method-c-new">::new &mdash; Qiflib::Transaction</a></li>
219
-
220
- <li><a href="Qiflib/Category.html#method-c-new">::new &mdash; Qiflib::Category</a></li>
221
-
222
- <li><a href="Qiflib/Money.html#method-c-new">::new &mdash; Qiflib::Money</a></li>
223
-
224
- <li><a href="Qiflib/Date.html#method-c-new">::new &mdash; Qiflib::Date</a></li>
225
-
226
- <li><a href="Qiflib/Util.html#method-c-transactions_to_csv">::transactions_to_csv &mdash; Qiflib::Util</a></li>
227
-
228
- <li><a href="Qiflib/Util.html#method-c-transactions_to_delim">::transactions_to_delim &mdash; Qiflib::Util</a></li>
229
-
230
- <li><a href="Qiflib/Transaction.html#method-i-add_line">#add_line &mdash; Qiflib::Transaction</a></li>
231
-
232
- <li><a href="Qiflib/Category.html#method-i-as_array">#as_array &mdash; Qiflib::Category</a></li>
233
-
234
- <li><a href="Qiflib/Transaction.html#method-i-as_array">#as_array &mdash; Qiflib::Transaction</a></li>
235
-
236
- <li><a href="Qiflib/Money.html#method-i-cents">#cents &mdash; Qiflib::Money</a></li>
237
-
238
- <li><a href="Qiflib/Transaction.html#method-i-current_split">#current_split &mdash; Qiflib::Transaction</a></li>
239
-
240
- <li><a href="Qiflib/Transaction.html#method-i-ibank-3F">#ibank? &mdash; Qiflib::Transaction</a></li>
241
-
242
- <li><a href="Qiflib/Transaction.html#method-i-line_value">#line_value &mdash; Qiflib::Transaction</a></li>
243
-
244
- <li><a href="Qiflib/Category.html#method-i-to_csv">#to_csv &mdash; Qiflib::Category</a></li>
245
-
246
- <li><a href="Qiflib/Transaction.html#method-i-to_csv">#to_csv &mdash; Qiflib::Transaction</a></li>
247
-
248
- <li><a href="Qiflib/Date.html#method-i-to_s">#to_s &mdash; Qiflib::Date</a></li>
249
-
250
- <li><a href="Qiflib/Money.html#method-i-to_s">#to_s &mdash; Qiflib::Money</a></li>
251
-
252
- <li><a href="Qiflib/Transaction.html#method-i-valid-3F">#valid? &mdash; Qiflib::Transaction</a></li>
253
-
254
- </ul>
227
+ <footer id="validator-badges">
228
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
229
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 4.0.0.
230
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
231
+ </footer>
255
232
 
256
- <div id="validator-badges">
257
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
258
- <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
259
- Rdoc Generator</a> 2</small>.</p>
260
- </div>
261
- </body>
262
- </html>