tidus 1.0.6 → 1.0.7

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: 59f9d32224486d0fc6a815ddc9ae6e31c25f58d1
4
- data.tar.gz: b287241e13828b69d339b283527cfe5e6562151c
3
+ metadata.gz: c26f8a839787f3c0712f126588641b88aa80afc2
4
+ data.tar.gz: dec777a33cc61c0dd8775e5edcfd77fdefb6c4a5
5
5
  SHA512:
6
- metadata.gz: 08f3f471739d1069f5756c26468adbcd347374e89c2c0e23f2c44130fde9acd821e9d7617ef9247ac2e37ea4adc36642f5eddf4a6563c29b2d0069db42eee694
7
- data.tar.gz: 898a91d59d9298718afda852eef4a81b91b540b6b78323338119f229700241087bccc630a9b5312e502958d0cf949b7e9da3ad8a5a5b7f552f945715764d1cc7
6
+ metadata.gz: 55388c934e09337d12323f931bf225e252eaf0a2cff6b91dd0fed2f801d509620a23663c63923af00e025417df154fb87c876ecfd3c38ab70056645140340c05
7
+ data.tar.gz: 5fb5942290b79d528d27b5f3d0839c96cf1ac454d86c2c33bf029bdc604b6d8e284dff6e48293f67f820997684ad14355a1a09cd7a28de387d48244fe78e07de
@@ -0,0 +1,18 @@
1
+ # encoding: utf-8
2
+
3
+ module Tidus
4
+ module Postgresql
5
+ class RemoveJsonKeysAnonymizer
6
+ def self.anonymize(table_name, column_name, options = {})
7
+ name = "#{table_name}.#{column_name}"
8
+
9
+ raise "Missing option :keys for RemoveJsonKeysAnonymizer on #{name}" if options[:keys].blank?
10
+
11
+ removed_keys = options[:keys].map { |k| "key <> '#{k}'" }.join(" AND ")
12
+
13
+ return "(SELECT concat('{', string_agg(to_json(\"key\") || ':' || \"value\", ','), '}')::json " +
14
+ "FROM json_each(#{name}::json) WHERE #{removed_keys})"
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,6 @@
1
+ # encoding: utf-8
2
+
3
+ module Tidus
4
+ class RemoveJsonKeysAnonymizer < Tidus::BaseSelector
5
+ end
6
+ end
data/lib/tidus/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Tidus
2
- VERSION = "1.0.6"
2
+ VERSION = "1.0.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tidus
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Schoknecht
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-18 00:00:00.000000000 Z
11
+ date: 2015-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -87,8 +87,10 @@ files:
87
87
  - lib/tidus/strategies/postgresql/null_anonymizer.rb
88
88
  - lib/tidus/strategies/postgresql/overlay_anonymizer.rb
89
89
  - lib/tidus/strategies/postgresql/regex_replace_anonymizer.rb
90
+ - lib/tidus/strategies/postgresql/remove_json_keys_anonymizer.rb
90
91
  - lib/tidus/strategies/postgresql/text_anonymizer.rb
91
92
  - lib/tidus/strategies/regex_replace_anonymizer.rb
93
+ - lib/tidus/strategies/remove_json_keys_anonymizer.rb
92
94
  - lib/tidus/strategies/sqlite3/null_anonymizer.rb
93
95
  - lib/tidus/strategies/static_anonymizer.rb
94
96
  - lib/tidus/strategies/text_anonymizer.rb
@@ -113,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
113
115
  version: '0'
114
116
  requirements: []
115
117
  rubyforge_project:
116
- rubygems_version: 2.4.6
118
+ rubygems_version: 2.2.2
117
119
  signing_key:
118
120
  specification_version: 4
119
121
  summary: Gem for creating anonymization views.