purview 1.0.0.alpha → 1.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +0 -4
  3. data/Gemfile +10 -0
  4. data/README.md +2 -2
  5. data/TODO +10 -5
  6. data/lib/purview/columns/base.rb +2 -2
  7. data/lib/purview/columns.rb +1 -0
  8. data/lib/purview/connections/base.rb +17 -31
  9. data/lib/purview/connections/mysql.rb +2 -30
  10. data/lib/purview/connections/postgresql.rb +2 -18
  11. data/lib/purview/databases/base.rb +32 -31
  12. data/lib/purview/databases/mysql.rb +4 -16
  13. data/lib/purview/databases/postgresql.rb +4 -16
  14. data/lib/purview/databases.rb +1 -0
  15. data/lib/purview/dialects/base.rb +25 -0
  16. data/lib/purview/dialects/mysql.rb +25 -0
  17. data/lib/purview/dialects/postgresql.rb +25 -0
  18. data/lib/purview/dialects.rb +4 -0
  19. data/lib/purview/exceptions/{table.rb → base_table.rb} +1 -1
  20. data/lib/purview/exceptions/could_not_acquire_lock.rb +1 -1
  21. data/lib/purview/exceptions/lock_already_released.rb +1 -1
  22. data/lib/purview/exceptions/no_window.rb +1 -1
  23. data/lib/purview/exceptions.rb +2 -1
  24. data/lib/purview/loaders/base.rb +26 -2
  25. data/lib/purview/loaders/mysql.rb +4 -0
  26. data/lib/purview/loaders/postgresql.rb +4 -0
  27. data/lib/purview/loaders.rb +1 -0
  28. data/lib/purview/loggers.rb +1 -0
  29. data/lib/purview/mixins/connection.rb +13 -0
  30. data/lib/purview/mixins/helpers.rb +5 -1
  31. data/lib/purview/mixins/logger.rb +2 -2
  32. data/lib/purview/mixins.rb +1 -0
  33. data/lib/purview/parsers/base.rb +7 -11
  34. data/lib/purview/parsers/csv.rb +19 -3
  35. data/lib/purview/parsers/sql.rb +13 -0
  36. data/lib/purview/parsers.rb +2 -0
  37. data/lib/purview/pullers/base.rb +4 -0
  38. data/lib/purview/pullers/base_sql.rb +97 -0
  39. data/lib/purview/pullers/mysql.rb +15 -0
  40. data/lib/purview/pullers/postgresql.rb +15 -0
  41. data/lib/purview/pullers.rb +4 -0
  42. data/lib/purview/raw_connections/base.rb +118 -0
  43. data/lib/purview/raw_connections/jdbc/base.rb +65 -0
  44. data/lib/purview/raw_connections/jdbc/mysql.rb +19 -0
  45. data/lib/purview/raw_connections/jdbc/postgres.rb +19 -0
  46. data/lib/purview/raw_connections/jdbc.rb +4 -0
  47. data/lib/purview/raw_connections/mysql2.rb +35 -0
  48. data/lib/purview/raw_connections/pg.rb +35 -0
  49. data/lib/purview/raw_connections.rb +8 -0
  50. data/lib/purview/refinements/object.rb +4 -0
  51. data/lib/purview/refinements/string.rb +5 -0
  52. data/lib/purview/refinements.rb +1 -0
  53. data/lib/purview/structs/base.rb +12 -2
  54. data/lib/purview/structs/row.rb +7 -0
  55. data/lib/purview/structs.rb +2 -0
  56. data/lib/purview/tables/base.rb +1 -1
  57. data/lib/purview/types.rb +1 -0
  58. data/lib/purview/version.rb +1 -1
  59. data/lib/purview.rb +3 -3
  60. data/purview.gemspec +2 -2
  61. metadata +25 -32
@@ -0,0 +1,7 @@
1
+ module Purview
2
+ module Structs
3
+ class Row < Base
4
+ # Helper methods/overrides
5
+ end
6
+ end
7
+ end
@@ -1,3 +1,5 @@
1
1
  require 'purview/structs/base'
2
+
2
3
  require 'purview/structs/result'
4
+ require 'purview/structs/row'
3
5
  require 'purview/structs/window'
@@ -129,7 +129,7 @@ module Purview
129
129
  end
130
130
 
131
131
  def puller_opts
132
- filter_type_option(opts[:puller])
132
+ merge_table_option(filter_type_option(opts[:puller]))
133
133
  end
134
134
 
135
135
  def puller_type
data/lib/purview/types.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'purview/types/base'
2
+
2
3
  require 'purview/types/boolean'
3
4
  require 'purview/types/date'
4
5
  require 'purview/types/float'
@@ -1,3 +1,3 @@
1
1
  module Purview
2
- VERSION = '1.0.0.alpha'
2
+ VERSION = '1.0.0.beta1'
3
3
  end
data/lib/purview.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'csv'
2
2
  require 'date'
3
+ require 'etc'
3
4
  require 'net/http'
4
5
  require 'openssl'
5
6
  require 'ostruct'
@@ -7,20 +8,19 @@ require 'set'
7
8
  require 'time'
8
9
  require 'uri'
9
10
 
10
- %w[mysql2 pg].each { |gem| begin; require gem; rescue LoadError; end }
11
- abort 'Could not load the `mysql2` or `pg` gem' unless defined?(Mysql2) || defined?(PG)
12
-
13
11
  require 'purview/mixins'
14
12
  require 'purview/refinements'
15
13
 
16
14
  require 'purview/columns'
17
15
  require 'purview/connections'
18
16
  require 'purview/databases'
17
+ require 'purview/dialects'
19
18
  require 'purview/exceptions'
20
19
  require 'purview/loaders'
21
20
  require 'purview/loggers'
22
21
  require 'purview/parsers'
23
22
  require 'purview/pullers'
23
+ require 'purview/raw_connections'
24
24
  require 'purview/structs'
25
25
  require 'purview/tables'
26
26
  require 'purview/types'
data/purview.gemspec CHANGED
@@ -19,8 +19,8 @@ Gem::Specification.new do |gem|
19
19
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
20
20
  gem.require_paths = ['lib']
21
21
 
22
- gem.add_development_dependency 'mysql2', '~> 0.3'
23
- gem.add_development_dependency 'pg', '~> 0.18'
22
+ gem.requirements << '`jdbc-mysql` or `mysql2` gem'
23
+ gem.requirements << '`jdbc-postgres` or `pg` gem'
24
24
 
25
25
  gem.add_development_dependency 'bundler', '~> 1.0'
26
26
  gem.add_development_dependency 'pry', '~> 0.10'
metadata CHANGED
@@ -1,43 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: purview
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.alpha
4
+ version: 1.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan W. Zaleski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-27 00:00:00.000000000 Z
11
+ date: 2015-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: mysql2
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '0.3'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '0.3'
27
- - !ruby/object:Gem::Dependency
28
- name: pg
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '0.18'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '0.18'
41
13
  - !ruby/object:Gem::Dependency
42
14
  name: bundler
43
15
  requirement: !ruby/object:Gem::Requirement
@@ -132,14 +104,18 @@ files:
132
104
  - lib/purview/databases/base.rb
133
105
  - lib/purview/databases/mysql.rb
134
106
  - lib/purview/databases/postgresql.rb
107
+ - lib/purview/dialects.rb
108
+ - lib/purview/dialects/base.rb
109
+ - lib/purview/dialects/mysql.rb
110
+ - lib/purview/dialects/postgresql.rb
135
111
  - lib/purview/exceptions.rb
136
112
  - lib/purview/exceptions/base.rb
113
+ - lib/purview/exceptions/base_table.rb
137
114
  - lib/purview/exceptions/could_not_acquire_lock.rb
138
115
  - lib/purview/exceptions/lock_already_released.rb
139
116
  - lib/purview/exceptions/no_table.rb
140
117
  - lib/purview/exceptions/no_window.rb
141
118
  - lib/purview/exceptions/rows_outside_window.rb
142
- - lib/purview/exceptions/table.rb
143
119
  - lib/purview/loaders.rb
144
120
  - lib/purview/loaders/base.rb
145
121
  - lib/purview/loaders/mysql.rb
@@ -148,21 +124,36 @@ files:
148
124
  - lib/purview/loggers/base.rb
149
125
  - lib/purview/loggers/console.rb
150
126
  - lib/purview/mixins.rb
127
+ - lib/purview/mixins/connection.rb
151
128
  - lib/purview/mixins/helpers.rb
152
129
  - lib/purview/mixins/logger.rb
153
130
  - lib/purview/parsers.rb
154
131
  - lib/purview/parsers/base.rb
155
132
  - lib/purview/parsers/csv.rb
133
+ - lib/purview/parsers/sql.rb
156
134
  - lib/purview/parsers/tsv.rb
157
135
  - lib/purview/pullers.rb
158
136
  - lib/purview/pullers/base.rb
137
+ - lib/purview/pullers/base_sql.rb
138
+ - lib/purview/pullers/mysql.rb
139
+ - lib/purview/pullers/postgresql.rb
159
140
  - lib/purview/pullers/uri.rb
141
+ - lib/purview/raw_connections.rb
142
+ - lib/purview/raw_connections/base.rb
143
+ - lib/purview/raw_connections/jdbc.rb
144
+ - lib/purview/raw_connections/jdbc/base.rb
145
+ - lib/purview/raw_connections/jdbc/mysql.rb
146
+ - lib/purview/raw_connections/jdbc/postgres.rb
147
+ - lib/purview/raw_connections/mysql2.rb
148
+ - lib/purview/raw_connections/pg.rb
160
149
  - lib/purview/refinements.rb
161
150
  - lib/purview/refinements/object.rb
151
+ - lib/purview/refinements/string.rb
162
152
  - lib/purview/refinements/time.rb
163
153
  - lib/purview/structs.rb
164
154
  - lib/purview/structs/base.rb
165
155
  - lib/purview/structs/result.rb
156
+ - lib/purview/structs/row.rb
166
157
  - lib/purview/structs/window.rb
167
158
  - lib/purview/tables.rb
168
159
  - lib/purview/tables/base.rb
@@ -200,7 +191,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
200
191
  - - ">"
201
192
  - !ruby/object:Gem::Version
202
193
  version: 1.3.1
203
- requirements: []
194
+ requirements:
195
+ - "`jdbc-mysql` or `mysql2` gem"
196
+ - "`jdbc-postgres` or `pg` gem"
204
197
  rubyforge_project:
205
198
  rubygems_version: 2.4.3
206
199
  signing_key: