tidus 1.0.6 → 1.0.7

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: 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.