omelettes 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,7 +18,7 @@ module Omelettes
18
18
  end
19
19
 
20
20
  def self.default(name, value)
21
- name = name.downcase.to_sym
21
+ name = name.to_s.downcase.to_sym
22
22
  case name
23
23
  when :hardened
24
24
  return value
@@ -11,10 +11,13 @@ module Omelettes
11
11
  processed << table
12
12
  pbar = ProgressBar.new(model(table).name, model(table).count) unless silent
13
13
  model(table).find_each do |object|
14
+ tries = 0
14
15
  begin
15
16
  object.obfuscate(columns_for_table(table))
16
17
  total_attributes += 1
17
18
  rescue => e
19
+ tries += 1
20
+ retry if tries <= 1
18
21
  puts e.message
19
22
  next
20
23
  ensure
@@ -79,7 +82,7 @@ module Omelettes
79
82
 
80
83
  def obfuscate(string)
81
84
  return nil if string.nil?
82
- string.split(/(\s+)|([[:punct:]])/).map do |word|
85
+ string.split(/(\s+)|([[:punct:]])|(\d+)/).map do |word|
83
86
  word.match(/[a-zA-Z]+/).nil? ? word : Words.replace(word)
84
87
  end.join("")
85
88
  end
@@ -86,6 +86,14 @@ describe Omelettes::Obfuscate do
86
86
  end
87
87
  Omelettes::Obfuscate.obfuscate("the: quick, brown! fox :)").should == "tad: queen, barfs! foo :)"
88
88
  end
89
+
90
+ it "preserves digits" do
91
+ Omelettes::Words.clear
92
+ ["barfs", "foo", "queen", "tad"].each do |word|
93
+ Omelettes::Words.add(word)
94
+ end
95
+ Omelettes::Obfuscate.obfuscate("the: 1quick, 1504brown! fox :)").should == "tad: 1queen, 1504barfs! foo :)"
96
+ end
89
97
  end
90
98
 
91
99
  describe "cook" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omelettes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-02-10 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70243755236580 !ruby/object:Gem::Requirement
16
+ requirement: &70274130323040 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 2.1.0
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70243755236580
24
+ version_requirements: *70274130323040
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: faker
27
- requirement: &70243755236060 !ruby/object:Gem::Requirement
27
+ requirement: &70274130322440 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.9.5
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70243755236060
35
+ version_requirements: *70274130322440
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: activerecord
38
- requirement: &70243755235440 !ruby/object:Gem::Requirement
38
+ requirement: &70274130321840 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '3.0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70243755235440
46
+ version_requirements: *70274130321840
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: progressbar
49
- requirement: &70243755234960 !ruby/object:Gem::Requirement
49
+ requirement: &70274130321440 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70243755234960
57
+ version_requirements: *70274130321440
58
58
  description: Low-to-no configuration solution for obfuscating sensitive data in your
59
59
  database.
60
60
  email: mark@quarternotecoda.com
@@ -98,7 +98,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
98
98
  version: '0'
99
99
  segments:
100
100
  - 0
101
- hash: 3366236277733375076
101
+ hash: 4505212231129421545
102
102
  required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  none: false
104
104
  requirements: