cure 0.1.1

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.
data/lib/cure.rb ADDED
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "cure/log"
4
+ require "cure/config"
5
+ require "cure/version"
6
+
7
+ require "cure/file_helpers"
8
+ require "cure/transformation/transform"
9
+
10
+ require "cure/main"
11
+
12
+ require "logger"
13
+
14
+ module Cure
15
+ class << self
16
+ attr_writer :logger
17
+
18
+ def logger
19
+ @logger ||= Logger.new($stdout).tap do |log|
20
+ log.progname = name
21
+ end
22
+ end
23
+
24
+
25
+ end
26
+ end
@@ -0,0 +1,143 @@
1
+ {
2
+ "candidates" : [
3
+ {
4
+ "column" : "identity/LineItemId",
5
+ "translations" : [{
6
+ "strategy" : {
7
+ "name": "full",
8
+ "options" : {}
9
+ },
10
+ "generator" : {
11
+ "name" : "character",
12
+ "options" : {
13
+ "length" : 52,
14
+ "types" : [
15
+ "lowercase", "number"
16
+ ]
17
+ }
18
+ }
19
+ }]
20
+ },
21
+ {
22
+ "column" : "bill/PayerAccountId",
23
+ "translations" : [{
24
+ "strategy" : {
25
+ "name": "full",
26
+ "options" : {}
27
+ },
28
+ "generator" : {
29
+ "name" : "placeholder",
30
+ "options" : {
31
+ "name" : "$account_number"
32
+ }
33
+ }
34
+ }]
35
+ },
36
+ {
37
+ "column" : "lineItem/UsageAccountId",
38
+ "translations" : [{
39
+ "strategy" : {
40
+ "name": "full",
41
+ "options" : {}
42
+ },
43
+ "generator" : {
44
+ "name" : "number",
45
+ "options" : {
46
+ "length" : 6
47
+ }
48
+ }
49
+ }]
50
+ },
51
+ {
52
+ "column" : "lineItem/ResourceId",
53
+ "translations" : [{
54
+ "strategy" : {
55
+ "name": "regex",
56
+ "options" : {
57
+ "regex_cg" : "^i-(.*)"
58
+ }
59
+ },
60
+ "generator" : {
61
+ "name" : "hex",
62
+ "options" : {
63
+ "length" : 10
64
+ }
65
+ }
66
+ },{
67
+ "strategy" : {
68
+ "name": "regex",
69
+ "options" : {
70
+ "regex_cg" : "^vol-(.*)"
71
+ }
72
+ },
73
+ "generator" : {
74
+ "name" : "hex",
75
+ "options" : {
76
+ "length" : 10
77
+ }
78
+ }
79
+ },{
80
+ "strategy" : {
81
+ "name": "split",
82
+ "options" : {
83
+ "token": ":",
84
+ "index": 4
85
+ }
86
+ },
87
+ "generator" : {
88
+ "name" : "placeholder",
89
+ "options" : {
90
+ "name" : "$account_number"
91
+ }
92
+ }
93
+ },{
94
+ "strategy" : {
95
+ "name": "split",
96
+ "options" : {
97
+ "token": ":",
98
+ "index": -1
99
+ }
100
+ },
101
+ "generator" : {
102
+ "name" : "faker",
103
+ "options" : {
104
+ "module" : "App",
105
+ "method" : "name"
106
+ }
107
+ }
108
+ }],
109
+ "no_match_translation" : {
110
+ "strategy" : {
111
+ "name": "full",
112
+ "options" : {}
113
+ },
114
+ "generator" : {
115
+ "name" : "hex",
116
+ "options" : {
117
+ "length" : 10,
118
+ "prefix" : "s3_bucket_"
119
+ }
120
+ }
121
+ }
122
+ },
123
+ {
124
+ "column" : "resourceTags/aws:createdBy",
125
+ "translations" : [{
126
+ "strategy" : {
127
+ "name": "full",
128
+ "options" : {}
129
+ },
130
+ "generator" : {
131
+ "name" : "faker",
132
+ "options" : {
133
+ "module" : "Faker::Movies::StarWars",
134
+ "method" : "character"
135
+ }
136
+ }
137
+ }]
138
+ }
139
+ ],
140
+ "placeholders" : {
141
+ "$account_number" : "1234567891234"
142
+ }
143
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "replacements" : [
3
+ {
4
+ "column" : "bill/PayerAccountId",
5
+ "strategy" : {
6
+ "name": "full",
7
+ "options" : {}
8
+ },
9
+ "generator" : {
10
+ "name" : "placeholder",
11
+ "options" : {
12
+ "name" : "$account_number"
13
+ }
14
+ }
15
+ },{
16
+ "column" : "lineItem/ResourceId",
17
+ "strategy" : {
18
+ "name": "regex",
19
+ "options" : {
20
+ "regex" : ""
21
+ }
22
+ },
23
+ "generator" : {
24
+ "name": "number",
25
+ "options" : {
26
+ "length" : 12
27
+ }
28
+ }
29
+ }
30
+ ],
31
+ "placeholders" : {
32
+ "$account_number" : "1234567891234"
33
+ },
34
+ "column_export" : {
35
+ "type" : "blacklist",
36
+ "columns" : []
37
+ }
38
+ }
metadata ADDED
@@ -0,0 +1,111 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cure
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - william
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2022-08-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: simplecov
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: faker
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rcsv
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: Anonymize private data inside CSV files
56
+ email:
57
+ - me@williamthom.as
58
+ executables:
59
+ - cure
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - ".rspec"
64
+ - ".rubocop.yml"
65
+ - CODE_OF_CONDUCT.md
66
+ - Dockerfile
67
+ - Gemfile
68
+ - Gemfile.lock
69
+ - LICENSE.txt
70
+ - README.md
71
+ - Rakefile
72
+ - exe/cure
73
+ - lib/cure.rb
74
+ - lib/cure/config.rb
75
+ - lib/cure/csv_helpers.rb
76
+ - lib/cure/export/exporter.rb
77
+ - lib/cure/file_helpers.rb
78
+ - lib/cure/generator/base.rb
79
+ - lib/cure/log.rb
80
+ - lib/cure/main.rb
81
+ - lib/cure/object_helpers.rb
82
+ - lib/cure/strategy/base.rb
83
+ - lib/cure/transformation/candidate.rb
84
+ - lib/cure/transformation/transform.rb
85
+ - lib/cure/version.rb
86
+ - templates/aws_cur_template.json
87
+ - templates/example_template.json
88
+ homepage: https://www.github.com/williamthom-as/cure
89
+ licenses:
90
+ - MIT
91
+ metadata: {}
92
+ post_install_message:
93
+ rdoc_options: []
94
+ require_paths:
95
+ - lib
96
+ required_ruby_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: 2.6.0
101
+ required_rubygems_version: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ requirements: []
107
+ rubygems_version: 3.2.22
108
+ signing_key:
109
+ specification_version: 4
110
+ summary: Anonymize private data inside CSV files
111
+ test_files: []