toku 0.1.0.2 → 0.1.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 377c5c02171e9cd769c74c5121919f6c50e6eaa9
4
- data.tar.gz: 09a85b04d7c3ddc2d56c6f27bd69efef5c99a966
3
+ metadata.gz: 807b82f4f96731a6608be9242124f961aac40cce
4
+ data.tar.gz: a180d4a1d099102aff7881ca02703f36de5f841f
5
5
  SHA512:
6
- metadata.gz: 7a140ddba3f59e4a9783452007ad133575732d6d65e01d10c131709e5a2b4cc1f7fe0641dd36df52301bdc84ab688ec452f54bab32e8016777fd01faa2a1a7bd
7
- data.tar.gz: 4c19f130c02958a8e27f70c3140d5aabb24d34106c05492815679c8ac020d611265f5af97962e6beb93871a094fff1af5b80fb566c1765af86462eabc81750c6
6
+ metadata.gz: ef78bfd7ef50ee764560ae6412004ee302a0ff5a2e8dd67e7c5651b4e938e0928d9c346d48a67eec76149cacf3b88b509f24024bf880eb7fa68bf22f5d9246c0
7
+ data.tar.gz: f126394c13afbc197d1461e7c6ba3924b5f9fceea92e47820022263475d170546ce8c397dd65f888740bb4f01aba1a9605a7eb12fb9c7c5d35c849b20bb5dd06
data/README.md CHANGED
@@ -29,7 +29,7 @@ Users can define custom filters by implementing a `Toku::ColumnFilter` subclass
29
29
  ```ruby
30
30
  module Toku
31
31
  class NewFilter < Toku::ColumnFilter
32
- def initialize(**options)
32
+ def initialize(value, options)
33
33
  end
34
34
 
35
35
  def call(_)
@@ -43,7 +43,30 @@ Which can be then referenced in the config file using the key of the mapping has
43
43
 
44
44
  ## Config file specification
45
45
 
46
- TODO
46
+ Config file must look like this and specifiy for each column of each table a filter to limit any potential leak of sensitive data.
47
+
48
+ ```yaml
49
+ table_a:
50
+ columns:
51
+ id:
52
+ - none
53
+ first_name:
54
+ - faker_first_name:
55
+ parameter1: 'something'
56
+ parameter2: 'something_else'
57
+ last_name:
58
+ - faker_last_name
59
+ email:
60
+ - faker_email
61
+ created_at:
62
+ - none
63
+ rows:
64
+ - max_creation_date:
65
+ cutoff_date: 2017-01-15
66
+ table_b:
67
+ rows:
68
+ - drop
69
+ ```
47
70
 
48
71
  ## Development
49
72
 
@@ -0,0 +1,17 @@
1
+ require 'yaml'
2
+
3
+ namespace :toku
4
+ desc 'Generate base config file from your base database schema in Rails'
5
+ task :genesis_rails
6
+ File.open(Rails.root.join('tmp').join('config.yml'), 'w') do |f|
7
+ hash = {}
8
+ ActiveRecord::Base.connection.tables.each do |table|
9
+ hash[table] = { 'columns' => {}, 'rows' => [nil] }
10
+ ActiveRecord::Base.connection.columns(table).map(&:name).each do |column|
11
+ hash[table]['columns'][column] = ['drop']
12
+ end
13
+ end
14
+ f.write hash.to_yaml
15
+ end
16
+ end
17
+ end
data/lib/toku/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Toku
2
- VERSION = "0.1.0.2"
2
+ VERSION = "0.1.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: toku
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.2
4
+ version: 0.1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - PSKL
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2018-01-02 00:00:00.000000000 Z
12
+ date: 2018-01-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -98,6 +98,7 @@ files:
98
98
  - Rakefile
99
99
  - bin/console
100
100
  - bin/setup
101
+ - lib/tasks/generate_config.rake
101
102
  - lib/toku.rb
102
103
  - lib/toku/errors/column_filter_missing_error.rb
103
104
  - lib/toku/errors/schema_mismatch_error.rb