purview 1.6.0 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ba79aba1227a4d2427c31df3f0915e4ca579cc2f
4
- data.tar.gz: 8c1bc2ce35e5f9d96dbfcc6460856fc5c9725c98
3
+ metadata.gz: 6bc53290ae44ba2ced3fbdb8acbea4b41647aaff
4
+ data.tar.gz: 2d61de5e8a245706faaf749fc89b1d313a44c89b
5
5
  SHA512:
6
- metadata.gz: f0f4f52d8dd55a5d59f73e7022c6007fcfaa4b2c66506cb3f73982ade552e3d9fdaa45a00987965056a20a646f78c0f3c9def2aade3820025a6bf782a0b5cab3
7
- data.tar.gz: 43dd4c3d045d9cd242cd046768cc98d384ba8ad76706640143ebc55d581c132e774653cecdeb18a935a11ebfd1d9c98d4899372fa0618309af7a5f6a8ac9c6d5
6
+ metadata.gz: bfdbc5071deb3dcf88ff5186654b47ffb3d639ad2456ccee9fe9c28afe688095842bfbe4eefb68314f8a4a933545bd4758fbbe3ef1ab5e08a72910be367328c1
7
+ data.tar.gz: df6ff884d2269b40ae6fff64e32061a67c229e2fe2f210c7c9781a8e165e15692bae000fb3da48e4713c595616ff96f638911384ef230258509e249a7de03386
data/.travis.yml CHANGED
@@ -5,8 +5,7 @@ before_install:
5
5
  - sudo apt-get install -q freetds-dev
6
6
 
7
7
  rvm:
8
- - 2.0.0
9
8
  - 2.1.9
10
- - 2.2.6
11
- - 2.3.3
12
- - 2.4.0
9
+ - 2.2.7
10
+ - 2.3.4
11
+ - 2.4.1
data/CHANGELOG CHANGED
@@ -1,3 +1,20 @@
1
+ Release 1.7.0 (2017-05-23)
2
+ --------------------------
3
+
4
+ * Add scaffolding for for `Consumers` (queue-based `Puller(s)`)
5
+ * Lock in dependencies at [slightly] more specific versions
6
+ * Load either the `JRuby` or `MRI` dependencies (not both -- in the case of `JRuby`)
7
+ * Drop support for ruby-2.0.x
8
+
9
+ Release 1.6.0 (2017-05-18)
10
+ --------------------------
11
+
12
+ * Finish MSSQL build-out
13
+ * Add `SQLite3` support (`Connection`, `Database`, `Loader` and `Puller`)
14
+ * Update dependencies
15
+ * BUGFIX: Fix require-paths for JDBC adapters
16
+ * BUGFIX: Fix bug w/ `Purview::Structs::Base`
17
+
1
18
  Release 1.5.0 (2015-06-12)
2
19
  --------------------------
3
20
 
data/Gemfile CHANGED
@@ -2,15 +2,21 @@ source 'https://rubygems.org'
2
2
 
3
3
  group :development do
4
4
  if defined?(JRUBY_VERSION)
5
- gem 'jdbc-jtds', '~> 1.0'
6
- gem 'jdbc-mysql', '~> 5.0'
7
- gem 'jdbc-postgres', '~> 9.0'
8
- gem 'jdbc-sqlite3', '~> 3.0'
5
+ gem 'jdbc-jtds', '~> 1.3'
6
+ gem 'jdbc-mysql', '~> 5.1'
7
+ gem 'jdbc-postgres', '~> 9.4'
8
+ gem 'jdbc-sqlite3', '~> 3.15'
9
+
10
+ gem 'jruby-kafka', '~> 4.2'
11
+ gem 'march_hare', '~> 3.0'
9
12
  else
10
13
  gem 'mysql2', '~> 0.4'
11
14
  gem 'pg', '~> 0.20'
12
- gem 'sqlite3', '~> 1.0'
13
- gem 'tiny_tds', '~> 1.0'
15
+ gem 'sqlite3', '~> 1.3'
16
+ gem 'tiny_tds', '~> 1.3'
17
+
18
+ gem 'bunny', '~> 2.7'
19
+ gem 'ruby-kafka', '~> 0.3'
14
20
  end
15
21
  end
16
22
 
data/TODO CHANGED
@@ -7,6 +7,7 @@ a 1450000000 1450000000 Add schema management capabilities (detect schema-deltas
7
7
  a 1450000000 1450000000 Consider refactoring mutator methods to be globally available (e.g. quoted -> Quote, etc.)
8
8
  a 1450000000 1450000000 Support parallel pulls?
9
9
  a 1450000000 1450000000 Come up w/ a deployment recommendation
10
+ a 1495113996 1495130394 Add support for `Consumers`
10
11
  r 1450000000 1450000000 Add support for MSSQL
11
12
  r 1450000000 1495070870 Further encapsulate `Dialect` logic (in order to DRY `Database` classes)
12
13
  d 1494850714 1495046648 Finish SQLite3 raw-connections
data/lib/purview.rb CHANGED
@@ -19,6 +19,7 @@ require 'purview/refinements'
19
19
 
20
20
  require 'purview/columns'
21
21
  require 'purview/connections'
22
+ require 'purview/consumers'
22
23
  require 'purview/databases'
23
24
  require 'purview/dialects'
24
25
  require 'purview/exceptions'
@@ -28,6 +29,7 @@ require 'purview/loggers'
28
29
  require 'purview/parsers'
29
30
  require 'purview/pullers'
30
31
  require 'purview/raw_connections'
32
+ require 'purview/raw_consumers'
31
33
  require 'purview/structs'
32
34
  require 'purview/tables'
33
35
  require 'purview/types'
@@ -0,0 +1,4 @@
1
+ require 'purview/consumers/base'
2
+
3
+ require 'purview/consumers/kafka'
4
+ require 'purview/consumers/rabbitmq'
@@ -0,0 +1,7 @@
1
+ module Purview
2
+ module Consumers
3
+ class Base
4
+ # TODO: Implement me!
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,11 @@
1
+ module Purview
2
+ module Consumers
3
+ class Kafka < Base
4
+ private
5
+
6
+ def raw_consumer_type
7
+ Purview::RawConsumers::Kafka
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Purview
2
+ module Consumers
3
+ class RabbitMQ < Base
4
+ private
5
+
6
+ def raw_consumer_type
7
+ Purview::RawConsumers::RabbitMQ
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,15 +1,18 @@
1
1
  require 'purview/raw_connections/base'
2
- require 'purview/raw_connections/jdbc/base'
3
2
 
4
- require 'purview/raw_connections/jdbc/jtds'
5
- require 'purview/raw_connections/jdbc/mysql'
6
- require 'purview/raw_connections/jdbc/postgres'
7
- require 'purview/raw_connections/jdbc/sqlite3'
3
+ if defined?(JRUBY_VERSION)
4
+ require 'purview/raw_connections/jdbc/base'
8
5
 
9
- require 'purview/raw_connections/mysql2'
10
- require 'purview/raw_connections/pg'
11
- require 'purview/raw_connections/sqlite3'
12
- require 'purview/raw_connections/tiny_tds'
6
+ require 'purview/raw_connections/jdbc/jtds'
7
+ require 'purview/raw_connections/jdbc/mysql'
8
+ require 'purview/raw_connections/jdbc/postgres'
9
+ require 'purview/raw_connections/jdbc/sqlite3'
10
+ else
11
+ require 'purview/raw_connections/mysql2'
12
+ require 'purview/raw_connections/pg'
13
+ require 'purview/raw_connections/sqlite3'
14
+ require 'purview/raw_connections/tiny_tds'
15
+ end
13
16
 
14
17
  if \
15
18
  !defined?(Purview::RawConnections::MSSQL) &&
@@ -10,7 +10,7 @@ if defined?(Jdbc::SQLite3)
10
10
  private
11
11
 
12
12
  def url
13
- "jdbc:sqlite://#{database}"
13
+ "jdbc:sqlite:#{database.to_s}"
14
14
  end
15
15
  end
16
16
  end
@@ -0,0 +1,11 @@
1
+ require 'purview/raw_consumers/base'
2
+
3
+ if defined?(JRUBY_VERSION)
4
+ require 'purview/raw_consumers/jruby/base'
5
+
6
+ require 'purview/raw_consumers/jruby/kafka'
7
+ require 'purview/raw_consumers/jruby/march_hare'
8
+ else
9
+ require 'purview/raw_consumers/bunny'
10
+ require 'purview/raw_consumers/kafka'
11
+ end
@@ -0,0 +1,7 @@
1
+ module Purview
2
+ module RawConsumers
3
+ class Base
4
+ # TODO: Implement me!
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,13 @@
1
+ safe_require('bunny')
2
+
3
+ if defined?(Bunny)
4
+ module Purview
5
+ module RawConsumers
6
+ class Bunny < Base
7
+ # TODO: Implement me!
8
+ end
9
+ end
10
+ end
11
+
12
+ Purview::RawConsumers::RabbitMQ = Purview::RawConsumers::Bunny
13
+ end
@@ -0,0 +1,9 @@
1
+ module Purview
2
+ module RawConsumers
3
+ module JRuby
4
+ class Base < Purview::RawConsumers::Base
5
+ # TODO: Implement me!
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,15 @@
1
+ safe_require('jruby-kafka')
2
+
3
+ if defined?(Kafka)
4
+ module Purview
5
+ module RawConsumers
6
+ module JRuby
7
+ class Kafka < Base
8
+ # TODO: Implement me!
9
+ end
10
+ end
11
+ end
12
+ end
13
+
14
+ Purview::RawConsumers::Kafka = Purview::RawConsumers::JRuby::Kafka
15
+ end
@@ -0,0 +1,15 @@
1
+ safe_require('march_hare')
2
+
3
+ if defined?(MarchHare)
4
+ module Purview
5
+ module RawConsumers
6
+ module JRuby
7
+ class MarchHare < Base
8
+ # TODO: Implement me!
9
+ end
10
+ end
11
+ end
12
+ end
13
+
14
+ Purview::RawConsumers::RabbitMQ = Purview::RawConsumers::JRuby::MarchHare
15
+ end
@@ -0,0 +1,11 @@
1
+ safe_require('kafka')
2
+
3
+ if defined?(Kafka)
4
+ module Purview
5
+ module RawConsumers
6
+ class Kafka < Base
7
+ # TODO: Implement me!
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  module Purview
2
- VERSION = '1.6.0'
2
+ VERSION = '1.7.0'
3
3
  end
data/purview.gemspec CHANGED
@@ -19,13 +19,18 @@ 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.required_ruby_version = '>= 2.1.0'
23
+
22
24
  gem.requirements << '`mysql2` or `jdbc-mysql` gem'
23
25
  gem.requirements << '`pg` or `jdbc-postgres` gem'
24
26
  gem.requirements << '`sqlite3` or `jdbc-sqlite3` gem'
25
27
  gem.requirements << '`tiny_tds` or `jdbc-jtds` gem'
26
28
 
27
- gem.add_development_dependency 'bundler', '~> 1.0'
29
+ gem.requirements << '`bunny` or `march_hare` gem (if consuming from RabbitMQ)'
30
+ gem.requirements << '`ruby-kafka` or `jruby-kafka` gem (if consuming from Kafka)'
31
+
28
32
  gem.add_development_dependency 'pry', '~> 0.10'
29
33
  gem.add_development_dependency 'rake', '~> 12.0'
30
- gem.add_development_dependency 'rspec', '~> 3.0'
34
+ gem.add_development_dependency 'rb-readline', '~> 0.5'
35
+ gem.add_development_dependency 'rspec', '~> 3.6'
31
36
  end
metadata CHANGED
@@ -1,71 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: purview
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.7.0
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: 2017-05-18 00:00:00.000000000 Z
11
+ date: 2017-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: pry
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '0.10'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.0'
26
+ version: '0.10'
27
27
  - !ruby/object:Gem::Dependency
28
- name: pry
28
+ name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.10'
33
+ version: '12.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.10'
40
+ version: '12.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rake
42
+ name: rb-readline
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '12.0'
47
+ version: '0.5'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '12.0'
54
+ version: '0.5'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.0'
61
+ version: '3.6'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.0'
68
+ version: '3.6'
69
69
  description: An easy to use configuration-driven framework created to simplify data-warehousing
70
70
  email:
71
71
  - JonathanZaleski@gmail.com
@@ -103,6 +103,10 @@ files:
103
103
  - lib/purview/connections/mysql.rb
104
104
  - lib/purview/connections/postgresql.rb
105
105
  - lib/purview/connections/sqlite.rb
106
+ - lib/purview/consumers.rb
107
+ - lib/purview/consumers/base.rb
108
+ - lib/purview/consumers/kafka.rb
109
+ - lib/purview/consumers/rabbitmq.rb
106
110
  - lib/purview/databases.rb
107
111
  - lib/purview/databases/base.rb
108
112
  - lib/purview/databases/mssql.rb
@@ -167,7 +171,6 @@ files:
167
171
  - lib/purview/pullers/uri.rb
168
172
  - lib/purview/raw_connections.rb
169
173
  - lib/purview/raw_connections/base.rb
170
- - lib/purview/raw_connections/jdbc.rb
171
174
  - lib/purview/raw_connections/jdbc/base.rb
172
175
  - lib/purview/raw_connections/jdbc/jtds.rb
173
176
  - lib/purview/raw_connections/jdbc/mysql.rb
@@ -177,6 +180,13 @@ files:
177
180
  - lib/purview/raw_connections/pg.rb
178
181
  - lib/purview/raw_connections/sqlite3.rb
179
182
  - lib/purview/raw_connections/tiny_tds.rb
183
+ - lib/purview/raw_consumers.rb
184
+ - lib/purview/raw_consumers/base.rb
185
+ - lib/purview/raw_consumers/bunny.rb
186
+ - lib/purview/raw_consumers/jruby/base.rb
187
+ - lib/purview/raw_consumers/jruby/kafka.rb
188
+ - lib/purview/raw_consumers/jruby/march_hare.rb
189
+ - lib/purview/raw_consumers/kafka.rb
180
190
  - lib/purview/refinements.rb
181
191
  - lib/purview/refinements/object.rb
182
192
  - lib/purview/refinements/string.rb
@@ -219,7 +229,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
219
229
  requirements:
220
230
  - - ">="
221
231
  - !ruby/object:Gem::Version
222
- version: '0'
232
+ version: 2.1.0
223
233
  required_rubygems_version: !ruby/object:Gem::Requirement
224
234
  requirements:
225
235
  - - ">="
@@ -230,6 +240,8 @@ requirements:
230
240
  - "`pg` or `jdbc-postgres` gem"
231
241
  - "`sqlite3` or `jdbc-sqlite3` gem"
232
242
  - "`tiny_tds` or `jdbc-jtds` gem"
243
+ - "`bunny` or `march_hare` gem (if consuming from RabbitMQ)"
244
+ - "`ruby-kafka` or `jruby-kafka` gem (if consuming from Kafka)"
233
245
  rubyforge_project:
234
246
  rubygems_version: 2.6.10
235
247
  signing_key:
@@ -1,4 +0,0 @@
1
- require 'purview/raw_connections/jdbc/base'
2
-
3
- require 'purview/raw_connections/jdbc/mysql'
4
- require 'purview/raw_connections/jdbc/postgres'