forklift_etl 1.0.8 → 1.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +8 -8
  2. data/forklift.jpg +0 -0
  3. data/lib/forklift/transports/mysql.rb +3 -2
  4. data/lib/forklift/version.rb +1 -1
  5. metadata +1 -58
  6. data/doc/EmailSuffix.html +0 -228
  7. data/doc/Forklift/Base/Connection.html +0 -590
  8. data/doc/Forklift/Base/Logger.html +0 -453
  9. data/doc/Forklift/Base/Mailer/ERBBinding.html +0 -256
  10. data/doc/Forklift/Base/Mailer.html +0 -399
  11. data/doc/Forklift/Base/Pid.html +0 -489
  12. data/doc/Forklift/Base/Utils.html +0 -252
  13. data/doc/Forklift/Base.html +0 -167
  14. data/doc/Forklift/Connection/Elasticsearch.html +0 -419
  15. data/doc/Forklift/Connection/Mysql.html +0 -939
  16. data/doc/Forklift/Connection.html +0 -164
  17. data/doc/Forklift/Patterns/Elasticsearch.html +0 -169
  18. data/doc/Forklift/Patterns/Mysql.html +0 -402
  19. data/doc/Forklift/Patterns.html +0 -164
  20. data/doc/Forklift/Plan.html +0 -704
  21. data/doc/Forklift.html +0 -187
  22. data/doc/Gemfile.html +0 -132
  23. data/doc/Object.html +0 -326
  24. data/doc/Rakefile.html +0 -138
  25. data/doc/SpecClient.html +0 -291
  26. data/doc/SpecPlan.html +0 -253
  27. data/doc/SpecSeeds.html +0 -303
  28. data/doc/created.rid +0 -35
  29. data/doc/example/Gemfile.html +0 -129
  30. data/doc/images/add.png +0 -0
  31. data/doc/images/brick.png +0 -0
  32. data/doc/images/brick_link.png +0 -0
  33. data/doc/images/bug.png +0 -0
  34. data/doc/images/bullet_black.png +0 -0
  35. data/doc/images/bullet_toggle_minus.png +0 -0
  36. data/doc/images/bullet_toggle_plus.png +0 -0
  37. data/doc/images/date.png +0 -0
  38. data/doc/images/delete.png +0 -0
  39. data/doc/images/find.png +0 -0
  40. data/doc/images/loadingAnimation.gif +0 -0
  41. data/doc/images/macFFBgHack.png +0 -0
  42. data/doc/images/package.png +0 -0
  43. data/doc/images/page_green.png +0 -0
  44. data/doc/images/page_white_text.png +0 -0
  45. data/doc/images/page_white_width.png +0 -0
  46. data/doc/images/plugin.png +0 -0
  47. data/doc/images/ruby.png +0 -0
  48. data/doc/images/tag_blue.png +0 -0
  49. data/doc/images/tag_green.png +0 -0
  50. data/doc/images/transparent.png +0 -0
  51. data/doc/images/wrench.png +0 -0
  52. data/doc/images/wrench_orange.png +0 -0
  53. data/doc/images/zoom.png +0 -0
  54. data/doc/index.html +0 -122
  55. data/doc/js/darkfish.js +0 -155
  56. data/doc/js/jquery.js +0 -18
  57. data/doc/js/navigation.js +0 -142
  58. data/doc/js/search.js +0 -94
  59. data/doc/js/search_index.js +0 -1
  60. data/doc/js/searcher.js +0 -228
  61. data/doc/rdoc.css +0 -543
  62. data/doc/table_of_contents.html +0 -309
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NWRiNDNmYTQwZTQ3ZjY4ZmY4Y2FhYzQxOGRjMGY3ZjAxNjYzNmJjMw==
4
+ ZGY5YWUyODZkYTk1ODFiZTZkNWY0MzU0OGUxYzgxZjQ1NDcyYjNmOQ==
5
5
  data.tar.gz: !binary |-
6
- NTdjMWM2OTljNTIxYTk1YzA3ZWUyZmM3MTdlNmIxZmQ1YmMxNWM5Mw==
6
+ ZGZlYWYzNWI4YTEwYTFkYzYwZGM3NmQ3NDdmMzliNWVmMmE4M2NlZA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YjJjZDc2NjQxODY0ZjU0MGExNWIxY2VlZTcwMWVkYzNkZjA1MmZiZmM0NWRl
10
- ZjFmNmFhNWI3NGNmYjE5NmU0Y2I4ODUxNTQxYjgzMjA2OTljOTA3M2UwZmM2
11
- YTMzZTQ0ZjM5ODBjMjA3MDFkNjVjMGUzNDg3NjAyMmJiODBhZjA=
9
+ ZmUzMGEyNDkyYjdhMWQ1YzA0Mzk2Y2U5ZWYyZDIyMGU5OTQ5ZmY4ZWFmNzRk
10
+ YTYyZjY3MDc4NTdhNjA2MzVmNDVkY2ZiNjRjZmM5ZDRjMzUxZjQ1NDUwOGMz
11
+ ZjBmNDY0Y2E3OWNiNzk2YWE1ODZkYWQ4NTM0ZDRmOGMzY2JkOTk=
12
12
  data.tar.gz: !binary |-
13
- MDkxYTM1YTUzODczYzg1ZDJmNTJkZjM4NGU2NTE3ZWRjZWVkMWRiYmQwMWI3
14
- YzVjNTU5NWQzZDY0YzY5OTIwNGRiZmViMDQwMjJjYjFjNzIxOTI1MjExN2Zm
15
- Mjg4YzNjY2E2MDYxMzQ1M2ZmM2ZjNDY4NmI2Yjc5Yzc2MWY5Nzc=
13
+ ODg2NWYyNDdhZTVkNjRhMzMyMGMyMTg5ZmU3MzRjMDE5NTcwYWUzY2EzODVl
14
+ Y2M4OGUwOGY4YWJmNmI3MDJlZTg3MzU1NGVkNzUwZmE2Y2RkYTExYjdmNTUw
15
+ Yzc5ZTY3Njk1NGI1YzUxNTZkZWEwNzliNzZjYjEwNzdmN2FmZDg=
data/forklift.jpg CHANGED
Binary file
@@ -77,11 +77,11 @@ module Forklift
77
77
  end
78
78
  end
79
79
 
80
- def lazy_table_create(table, data, database=current_database, primary_key='id')
80
+ def lazy_table_create(table, data, database=current_database, primary_key='id', matcher=default_matcher)
81
81
  keys = {}
82
82
  data.each do |item|
83
83
  item.each do |k,v|
84
- keys[k] = sql_type(v) if keys[k].nil?
84
+ keys[k] = sql_type(v) if ( keys[k].nil? )
85
85
  end
86
86
  end
87
87
 
@@ -91,6 +91,7 @@ module Forklift
91
91
  command << " `#{col}` #{type} DEFAULT NULL, "
92
92
  end
93
93
  command << " PRIMARY KEY (`#{primary_key}`) "
94
+ command << " , KEY `#{matcher}` (`#{matcher}`) " if keys.include?(matcher.to_sym)
94
95
  command << " ) "
95
96
 
96
97
  q(command)
@@ -1,3 +1,3 @@
1
1
  module Forklift
2
- VERSION = "1.0.8"
2
+ VERSION = "1.0.9"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forklift_etl
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Tahler
@@ -125,63 +125,6 @@ files:
125
125
  - Gemfile.lock
126
126
  - Rakefile
127
127
  - bin/forklift
128
- - doc/EmailSuffix.html
129
- - doc/Forklift.html
130
- - doc/Forklift/Base.html
131
- - doc/Forklift/Base/Connection.html
132
- - doc/Forklift/Base/Logger.html
133
- - doc/Forklift/Base/Mailer.html
134
- - doc/Forklift/Base/Mailer/ERBBinding.html
135
- - doc/Forklift/Base/Pid.html
136
- - doc/Forklift/Base/Utils.html
137
- - doc/Forklift/Connection.html
138
- - doc/Forklift/Connection/Elasticsearch.html
139
- - doc/Forklift/Connection/Mysql.html
140
- - doc/Forklift/Patterns.html
141
- - doc/Forklift/Patterns/Elasticsearch.html
142
- - doc/Forklift/Patterns/Mysql.html
143
- - doc/Forklift/Plan.html
144
- - doc/Gemfile.html
145
- - doc/Object.html
146
- - doc/Rakefile.html
147
- - doc/SpecClient.html
148
- - doc/SpecPlan.html
149
- - doc/SpecSeeds.html
150
- - doc/created.rid
151
- - doc/example/Gemfile.html
152
- - doc/images/add.png
153
- - doc/images/brick.png
154
- - doc/images/brick_link.png
155
- - doc/images/bug.png
156
- - doc/images/bullet_black.png
157
- - doc/images/bullet_toggle_minus.png
158
- - doc/images/bullet_toggle_plus.png
159
- - doc/images/date.png
160
- - doc/images/delete.png
161
- - doc/images/find.png
162
- - doc/images/loadingAnimation.gif
163
- - doc/images/macFFBgHack.png
164
- - doc/images/package.png
165
- - doc/images/page_green.png
166
- - doc/images/page_white_text.png
167
- - doc/images/page_white_width.png
168
- - doc/images/plugin.png
169
- - doc/images/ruby.png
170
- - doc/images/tag_blue.png
171
- - doc/images/tag_green.png
172
- - doc/images/transparent.png
173
- - doc/images/wrench.png
174
- - doc/images/wrench_orange.png
175
- - doc/images/zoom.png
176
- - doc/index.html
177
- - doc/js/darkfish.js
178
- - doc/js/jquery.js
179
- - doc/js/navigation.js
180
- - doc/js/search.js
181
- - doc/js/search_index.js
182
- - doc/js/searcher.js
183
- - doc/rdoc.css
184
- - doc/table_of_contents.html
185
128
  - example/Gemfile
186
129
  - example/Gemfile.lock
187
130
  - example/config/connections/elasticsearch/source.yml
data/doc/EmailSuffix.html DELETED
@@ -1,228 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
-
7
- <title>class EmailSuffix - 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
- <div id="file-metadata">
47
- <nav id="file-list-section" class="section">
48
- <h3 class="section-header">Defined In</h3>
49
- <ul>
50
- <li>example/transformations/email_suffix.rb
51
- </ul>
52
- </nav>
53
-
54
-
55
- </div>
56
-
57
- <div id="class-metadata">
58
-
59
- <nav id="parent-class-section" class="section">
60
- <h3 class="section-header">Parent</h3>
61
-
62
- <p class="link"><a href="Object.html">Object</a>
63
-
64
- </nav>
65
-
66
-
67
- <!-- Method Quickref -->
68
- <nav id="method-list-section" class="section">
69
- <h3 class="section-header">Methods</h3>
70
-
71
- <ul class="link-list">
72
-
73
- <li><a href="#method-i-do-21">#do!</a>
74
-
75
- </ul>
76
- </nav>
77
-
78
- </div>
79
-
80
- <div id="project-metadata">
81
- <nav id="fileindex-section" class="section project-section">
82
- <h3 class="section-header">Pages</h3>
83
-
84
- <ul>
85
-
86
- <li class="file"><a href="./Gemfile.html">Gemfile</a>
87
-
88
- <li class="file"><a href="./Rakefile.html">Rakefile</a>
89
-
90
- <li class="file"><a href="./example/Gemfile.html">Gemfile</a>
91
-
92
- <li class="file"><a href="./spec/pid/pidfile.html">pidfile</a>
93
-
94
- </ul>
95
- </nav>
96
-
97
- <nav id="classindex-section" class="section project-section">
98
- <h3 class="section-header">Class and Module Index</h3>
99
-
100
- <ul class="link-list">
101
-
102
- <li><a href="./Forklift.html">Forklift</a>
103
-
104
- <li><a href="./Forklift/Base.html">Forklift::Base</a>
105
-
106
- <li><a href="./Forklift/Base/Connection.html">Forklift::Base::Connection</a>
107
-
108
- <li><a href="./Forklift/Base/Logger.html">Forklift::Base::Logger</a>
109
-
110
- <li><a href="./Forklift/Base/Mailer.html">Forklift::Base::Mailer</a>
111
-
112
- <li><a href="./Forklift/Base/Mailer/ERBBinding.html">Forklift::Base::Mailer::ERBBinding</a>
113
-
114
- <li><a href="./Forklift/Base/Pid.html">Forklift::Base::Pid</a>
115
-
116
- <li><a href="./Forklift/Base/Utils.html">Forklift::Base::Utils</a>
117
-
118
- <li><a href="./Forklift/Connection.html">Forklift::Connection</a>
119
-
120
- <li><a href="./Forklift/Connection/Elasticsearch.html">Forklift::Connection::Elasticsearch</a>
121
-
122
- <li><a href="./Forklift/Connection/Mysql.html">Forklift::Connection::Mysql</a>
123
-
124
- <li><a href="./Forklift/Patterns.html">Forklift::Patterns</a>
125
-
126
- <li><a href="./Forklift/Patterns/Elasticsearch.html">Forklift::Patterns::Elasticsearch</a>
127
-
128
- <li><a href="./Forklift/Patterns/Mysql.html">Forklift::Patterns::Mysql</a>
129
-
130
- <li><a href="./Forklift/Plan.html">Forklift::Plan</a>
131
-
132
- <li><a href="./EmailSuffix.html">EmailSuffix</a>
133
-
134
- <li><a href="./Object.html">Object</a>
135
-
136
- <li><a href="./SpecClient.html">SpecClient</a>
137
-
138
- <li><a href="./SpecPlan.html">SpecPlan</a>
139
-
140
- <li><a href="./SpecSeeds.html">SpecSeeds</a>
141
-
142
- </ul>
143
- </nav>
144
-
145
- </div>
146
- </nav>
147
-
148
- <div id="documentation">
149
- <h1 class="class">class EmailSuffix</h1>
150
-
151
- <div id="description" class="description">
152
-
153
- </div><!-- description -->
154
-
155
-
156
-
157
-
158
- <section id="5Buntitled-5D" class="documentation-section">
159
-
160
-
161
-
162
-
163
-
164
-
165
-
166
-
167
- <!-- Methods -->
168
-
169
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
170
- <h3 class="section-header">Public Instance Methods</h3>
171
-
172
-
173
- <div id="method-i-do-21" class="method-detail ">
174
-
175
- <div class="method-heading">
176
- <span class="method-name">do!</span><span
177
- class="method-args">(connection, forklift)</span>
178
- <span class="method-click-advice">click to toggle source</span>
179
- </div>
180
-
181
-
182
- <div class="method-description">
183
-
184
-
185
-
186
-
187
-
188
- <div class="method-source-code" id="do-21-source">
189
- <pre><span class="ruby-comment"># File example/transformations/email_suffix.rb, line 3</span>
190
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">do!</span>(<span class="ruby-identifier">connection</span>, <span class="ruby-identifier">forklift</span>)
191
- <span class="ruby-identifier">forklift</span>.<span class="ruby-identifier">logger</span>.<span class="ruby-identifier">log</span> <span class="ruby-string">&quot;collecting email suffixes...&quot;</span>
192
-
193
- <span class="ruby-identifier">suffixes</span> = {}
194
- <span class="ruby-identifier">connection</span>.<span class="ruby-identifier">read</span>(<span class="ruby-string">&quot;select email from users&quot;</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
195
- <span class="ruby-identifier">data</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">row</span><span class="ruby-operator">|</span>
196
- <span class="ruby-identifier">part</span> = <span class="ruby-identifier">row</span>[<span class="ruby-value">:email</span>].<span class="ruby-identifier">split</span>(<span class="ruby-string">'@'</span>).<span class="ruby-identifier">last</span>
197
- <span class="ruby-identifier">suffixes</span>[<span class="ruby-identifier">part</span>] = <span class="ruby-value">0</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">suffixes</span>[<span class="ruby-identifier">part</span>].<span class="ruby-identifier">nil?</span>
198
- <span class="ruby-identifier">suffixes</span>[<span class="ruby-identifier">part</span>] = <span class="ruby-identifier">suffixes</span>[<span class="ruby-identifier">part</span>] <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
199
- <span class="ruby-keyword">end</span>
200
- }
201
-
202
- <span class="ruby-identifier">suffixes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">suffix</span>, <span class="ruby-identifier">count</span><span class="ruby-operator">|</span>
203
- <span class="ruby-identifier">forklift</span>.<span class="ruby-identifier">logger</span>.<span class="ruby-identifier">log</span> <span class="ruby-node">&quot; &gt; #{suffix}: #{count}&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">count</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">5</span>
204
- <span class="ruby-keyword">end</span>
205
- <span class="ruby-keyword">end</span></pre>
206
- </div><!-- do-21-source -->
207
-
208
- </div>
209
-
210
-
211
-
212
-
213
- </div><!-- do-21-method -->
214
-
215
-
216
- </section><!-- public-instance-method-details -->
217
-
218
- </section><!-- 5Buntitled-5D -->
219
-
220
- </div><!-- documentation -->
221
-
222
-
223
- <footer id="validator-badges">
224
- <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
225
- <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.2.
226
- <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
227
- </footer>
228
-