brillo 1.2.2 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/brillo/adapter/base.rb +9 -0
- data/lib/brillo/adapter/postgres.rb +15 -0
- data/lib/brillo/loader.rb +1 -4
- data/lib/brillo/scrubber.rb +3 -2
- data/lib/brillo/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed51adc58208694cd352025dbd773637176c70f8
|
4
|
+
data.tar.gz: 0556c7bad489affaccba0e9341af4863240d4b28
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45accea61c2b9cd61dee2a4b4d95e82a353ed6e2c3ed146dc9445462f7afc33bb327c003895aa4b4f6300df3a19d7d6e503691f0c092259e48f6a31d3889c985
|
7
|
+
data.tar.gz: fa0b361deb1ff96feeede5a1068bcd475182f93ecec877c07e68b81ebdd07e82c7b39519e89f30616804fcec19d0f3ba7fc8fe43d0da76c89a185f8fb709dbd9
|
data/CHANGELOG.md
CHANGED
data/lib/brillo/adapter/base.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
module Brillo
|
2
2
|
module Adapter
|
3
3
|
class Base
|
4
|
+
include Logger
|
5
|
+
|
4
6
|
attr_reader :config
|
5
7
|
def initialize(db_config)
|
6
8
|
@config = db_config
|
@@ -26,6 +28,13 @@ module Brillo
|
|
26
28
|
def load_command
|
27
29
|
raise NotImplementedError
|
28
30
|
end
|
31
|
+
|
32
|
+
def recreate_db
|
33
|
+
["db:drop", "db:create"].each do |t|
|
34
|
+
logger.info "Running\n\trake #{t}"
|
35
|
+
Rake::Task[t].invoke
|
36
|
+
end
|
37
|
+
end
|
29
38
|
end
|
30
39
|
end
|
31
40
|
end
|
@@ -16,6 +16,21 @@ module Brillo
|
|
16
16
|
FROM #{table_name};
|
17
17
|
SQL
|
18
18
|
end
|
19
|
+
|
20
|
+
def recreate_db
|
21
|
+
logger.info "Dropping all connections to #{config[:database]}"
|
22
|
+
ActiveRecord::Base.connection.execute(
|
23
|
+
<<-SQL
|
24
|
+
-- Disconnect all others from the database we are about to drop.
|
25
|
+
-- Without this, the drop will fail and so the load will abort.
|
26
|
+
SELECT pg_terminate_backend(pg_stat_activity.pid)
|
27
|
+
FROM pg_stat_activity
|
28
|
+
WHERE pg_stat_activity.datname = '#{config[:database]}'
|
29
|
+
AND pid <> pg_backend_pid();
|
30
|
+
SQL
|
31
|
+
)
|
32
|
+
super
|
33
|
+
end
|
19
34
|
end
|
20
35
|
end
|
21
36
|
end
|
data/lib/brillo/loader.rb
CHANGED
data/lib/brillo/scrubber.rb
CHANGED
@@ -10,9 +10,10 @@ module Brillo
|
|
10
10
|
# Define some procs as scrubbing strategies for Polo
|
11
11
|
SCRUBBERS = {
|
12
12
|
default_time: ->(t) { t.nil? ? Time.now.to_s(:sql) : t },
|
13
|
-
email: ->(e) {
|
13
|
+
email: ->(e) { Digest::MD5.hexdigest(e) + "@example.com".freeze },
|
14
14
|
jumble: ->(j) { j.downcase.chars.shuffle!(random: JUMBLE_PRNG.clone).join },
|
15
|
-
|
15
|
+
# strips extensions
|
16
|
+
phone: ->(n) { n = n.split(' ').first; n && n.length > 9 ? n[0..-5] + n[-1] + n[-2] + n[-3] + n[-4] : n},
|
16
17
|
name: ->(n) { n.downcase.split(' ').map do |word|
|
17
18
|
word.chars.shuffle!(random: JUMBLE_PRNG.clone).join
|
18
19
|
end.each(&:capitalize!).join(' ')
|
data/lib/brillo/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brillo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Bessey
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-02-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|