credit_card_sanitizer 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/credit_card_sanitizer.rb +4 -18
  3. metadata +17 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1dcfef3249fbf1b18ea38db59853ab7cce1c560f
4
- data.tar.gz: 29edfaa4eb3b7b7777699b5a8cfc2b408744d473
3
+ metadata.gz: 1106a3d83f2f106a3abb02a314dc976ec935a3b5
4
+ data.tar.gz: b6062a9c7731b05af090ea0745269f3a23092c86
5
5
  SHA512:
6
- metadata.gz: 4e794eaeb79cdc6b7269776fdb53b80e260cab30d6de1c3dc100cbf957cb8eca15330fd078c847ce07d387e88317d724a70ff22d37abec3759daf084337b9fc6
7
- data.tar.gz: 248af200a7e16640f5d9ec721c4ee2344054521c799cd7e87cbd31bdf4f0223b75fafecfa19c4a01c027b6b0d61dd5379f71ea8e9e6ea4497bb137e685e9afe5
6
+ metadata.gz: e64c023e0155a9701fed50c29ebab09c38a1411e83f076853ffb2baa93da6c31e14a996b9b3c192f43e017c7b3f205ae4bdcee88471d8c81b110bfb1544cd968
7
+ data.tar.gz: efe24ccfb1c436a86fa44912638285935b5af13f6525bf98e375c7e1a047a157fa635512edd4cd6a6b210271c60b12ad7dfa4f161f349b8367d0c87132c89c8f
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'luhn_checksum'
4
4
  require 'securerandom'
5
+ require 'scrub_rb'
5
6
 
6
7
  class CreditCardSanitizer
7
8
 
@@ -22,8 +23,8 @@ class CreditCardSanitizer
22
23
  }
23
24
  VALID_COMPANY_PREFIXES = Regexp.union(*CARD_COMPANIES.values)
24
25
  EXPIRATION_DATE = /\s(?:0?[1-9]|1[0-2])(?:\/|-)(?:\d{4}|\d{2})(?:\s|$)/
25
- LINE_NOISE = /[^\w_\n,()\/:]{,5}/
26
- SCHEME_OR_PLUS = /(\+|(?:[a-zA-Z][\-+.a-zA-Z\d]{,9}):\S+)/
26
+ LINE_NOISE = /[^\w_\n,()\/:;]{,5}/
27
+ SCHEME_OR_PLUS = /((?:+|\+)|(?:[a-zA-Z][\-+.a-zA-Z\d]{,9}):\S+)/
27
28
  NUMBERS_WITH_LINE_NOISE = /#{SCHEME_OR_PLUS}?\d(?:#{LINE_NOISE}\d){10,18}/
28
29
 
29
30
  attr_reader :replacement_token, :expose_first, :expose_last
@@ -59,7 +60,7 @@ class CreditCardSanitizer
59
60
  # Returns a String of the redacted text if a credit card number was detected.
60
61
  # Returns nil if no credit card numbers were detected.
61
62
  def sanitize!(text)
62
- to_utf8!(text)
63
+ text.scrub!('�')
63
64
 
64
65
  redacted = nil
65
66
 
@@ -131,19 +132,4 @@ class CreditCardSanitizer
131
132
  yield
132
133
  text.gsub!(expiration_date_boundary, '')
133
134
  end
134
-
135
- if ''.respond_to?(:scrub)
136
- def to_utf8!(str)
137
- str.force_encoding(Encoding::UTF_8)
138
- str.scrub! unless str.valid_encoding?
139
- end
140
- else
141
- def to_utf8!(str)
142
- str.force_encoding(Encoding::UTF_8)
143
- unless str.valid_encoding?
144
- str.encode!(Encoding::UTF_16, :invalid => :replace, :replace => '�')
145
- str.encode!(Encoding::UTF_8, Encoding::UTF_16)
146
- end
147
- end
148
- end
149
135
  end
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.3.4
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Chapweske
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-04-14 00:00:00.000000000 Z
13
+ date: 2015-10-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: appraisal
@@ -68,6 +68,20 @@ dependencies:
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
70
  version: '0.1'
71
+ - !ruby/object:Gem::Dependency
72
+ name: scrub_rb
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: 1.0.1
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: 1.0.1
71
85
  description: Credit card sanitizer
72
86
  email:
73
87
  - ggrossman@zendesk.com
@@ -96,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
110
  version: '0'
97
111
  requirements: []
98
112
  rubyforge_project:
99
- rubygems_version: 2.2.2
113
+ rubygems_version: 2.4.5.1
100
114
  signing_key:
101
115
  specification_version: 4
102
116
  summary: Credit card sanitizer