credit_card_sanitizer 0.6.1 → 0.6.2

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/credit_card_sanitizer.rb +8 -5
  3. metadata +3 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6e9f2955e97cc9bcf999370fbc93ea35da129b84
4
- data.tar.gz: 0b726e36cadcc45bf31a7eb16ba7e6be5d4d93e6
3
+ metadata.gz: 91ced181f495dcc979ca941111571ca0480ac27e
4
+ data.tar.gz: cb74c94b7063871d9a9495711e79745dafa7c4bd
5
5
  SHA512:
6
- metadata.gz: 4c471ac845a54ea18095dd29f3fe4375313d79dbd8347883825cde5ab30cbaf8b4538341683513461e4cd3d45263754943faa66e0840690229379c377f07cdad
7
- data.tar.gz: 6a1b7e253c08d4870dd92019ec6b73649d9eeffba93e2fdaf9e6899a6c717bc527b8f32262d29a5a1ab6f5e5a96fa0fefc7f055324bafb9e726de0ca504d73cc
6
+ metadata.gz: ffe9c44a8576697ced931554e94b70dc3af49a45c72117fedadfdca3877b48a6a64f9b5df6edf5fa5e91c75e1617868887f6316e5ff797a40cf6984923e6b7c6
7
+ data.tar.gz: bc35ebcf22f812fb7abd95cb7970a7dfdd503952a18edafb99e345445245defbf09b718c0696852e6eae359c5529a27ac31d6e5e9357757f73ec177555639c7c
@@ -38,19 +38,22 @@ class CreditCardSanitizer
38
38
  }
39
39
 
40
40
  VALID_COMPANY_PREFIXES = Regexp.union(*CARD_COMPANIES.values)
41
- EXPIRATION_DATE = /\s(?:0?[1-9]|1[0-2])(?:\/|-)(?:\d{4}|\d{2})(?:\s|$)/
41
+ EXPIRATION_DATE = /\s(?:0?[1-9]|1[0-2])(?:\/|-)(?:\d{4}|\d{2})(?:\D|$)/
42
42
  LINE_NOISE_CHAR = /[^\w\n,()&.\/:;<>]/
43
43
  LINE_NOISE = /#{LINE_NOISE_CHAR}{,5}/
44
44
  NONEMPTY_LINE_NOISE = /#{LINE_NOISE_CHAR}{1,5}/
45
45
  SCHEME_OR_PLUS = /((?:&#43;|\+)|(?:[a-zA-Z][\-+.a-zA-Z\d]{,9}):[^\s>]+)/
46
46
  NUMBERS_WITH_LINE_NOISE = /#{SCHEME_OR_PLUS}?\d(?:#{LINE_NOISE}\d){10,30}/
47
+ HTML_TAGS = /(<\w+(?:(?:\s+\w+(?:\s*=\s*(?:".*?"|'.*?'|[\^'">\s]+))?)+\s*|\s*)>)/
48
+ SKIP_HTML_TAGS = Regexp.union(HTML_TAGS, NUMBERS_WITH_LINE_NOISE)
47
49
 
48
50
  DEFAULT_OPTIONS = {
49
51
  replacement_token: '▇',
50
52
  expose_first: 6,
51
53
  expose_last: 4,
52
54
  use_groupings: false,
53
- exclude_tracking_numbers: false
55
+ exclude_tracking_numbers: false,
56
+ exclude_html_tags: false
54
57
  }
55
58
 
56
59
  attr_reader :settings
@@ -92,11 +95,11 @@ class CreditCardSanitizer
92
95
 
93
96
  text.force_encoding(Encoding::UTF_8)
94
97
  text.scrub!('�')
95
-
98
+ regex = options[:exclude_html_tags] ? SKIP_HTML_TAGS : NUMBERS_WITH_LINE_NOISE
96
99
  redacted = nil
97
100
  without_expiration(text) do
98
- text.gsub!(NUMBERS_WITH_LINE_NOISE) do |match|
99
- next match if $1
101
+ text.gsub!(regex) do |match|
102
+ next match if $1 || $2
100
103
 
101
104
  candidate = Candidate.new(match, match.tr('^0-9', ''))
102
105
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: credit_card_sanitizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Chapweske
@@ -10,22 +10,8 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-02-07 00:00:00.000000000 Z
13
+ date: 2017-02-14 00:00:00.000000000 Z
14
14
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: appraisal
17
- requirement: !ruby/object:Gem::Requirement
18
- requirements:
19
- - - ">="
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :development
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- version: '0'
29
15
  - !ruby/object:Gem::Dependency
30
16
  name: rake
31
17
  requirement: !ruby/object:Gem::Requirement
@@ -138,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
124
  version: '0'
139
125
  requirements: []
140
126
  rubyforge_project:
141
- rubygems_version: 2.4.5.1
127
+ rubygems_version: 2.5.1
142
128
  signing_key:
143
129
  specification_version: 4
144
130
  summary: Credit card sanitizer