hot_like_sauce 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
- # hot-like-sauce
1
+ # HotLikeSauce
2
+ #### For when your data is too hot to view
2
3
 
3
4
  This is some sweet code for ActiveRecord (rails) that will allow you to obscure database fields. The data will always be obscured in the database, but can be read as plaintext or obscured. This is useful for admin views where you can display obscured data for people who shouldn't be seeing it.
4
5
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "hot_like_sauce"
8
- s.version = "0.1.0"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Justin Derrek Van Eaton"]
@@ -1,5 +1,7 @@
1
1
  require 'openssl'
2
+ require 'iconv'
2
3
  require 'active_record'
4
+ require 'base64'
3
5
 
4
6
  module HotLikeSauce
5
7
 
@@ -60,13 +62,13 @@ module HotLikeSauce
60
62
 
61
63
  define_method field do
62
64
  super()
63
- value = read_attribute(field)
65
+ value = Base64::decode64(read_attribute(field))
64
66
  self.class.unobscured_read_fields.include?(field) ? _unobscure(value) : value
65
67
  end
66
68
 
67
69
  define_method "#{field}=" do |value|
68
70
  super(value)
69
- write_attribute(field, _obscure(value))
71
+ write_attribute(field, Base64::encode64(_obscure(value)))
70
72
  end
71
73
 
72
74
  end
@@ -107,9 +109,7 @@ module HotLikeSauce
107
109
  cipher = OpenSSL::Cipher::Cipher.new(HotLikeSauce::crypto_method)
108
110
  cipher.send(method)
109
111
  cipher.pkcs5_keyivgen(key)
110
- result = cipher.update(value)
111
- result << cipher.final
112
- result.force_encoding('UTF-8')
112
+ cipher.update(value) + cipher.final
113
113
  end
114
114
 
115
115
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hot_like_sauce
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-05-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
16
- requirement: &70259113489420 !ruby/object:Gem::Requirement
16
+ requirement: &70151346873820 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.2.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70259113489420
24
+ version_requirements: *70151346873820
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70259115530380 !ruby/object:Gem::Requirement
27
+ requirement: &70151346873080 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.8.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70259115530380
35
+ version_requirements: *70151346873080
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rdoc
38
- requirement: &70259115529400 !ruby/object:Gem::Requirement
38
+ requirement: &70151346465000 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '3.12'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70259115529400
46
+ version_requirements: *70151346465000
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &70259115528620 !ruby/object:Gem::Requirement
49
+ requirement: &70151347100420 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.0.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70259115528620
57
+ version_requirements: *70151347100420
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: jeweler
60
- requirement: &70259115526160 !ruby/object:Gem::Requirement
60
+ requirement: &70151347115940 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.8.3
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70259115526160
68
+ version_requirements: *70151347115940
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sqlite3
71
- requirement: &70259115524400 !ruby/object:Gem::Requirement
71
+ requirement: &70151347115100 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: 1.3.5
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70259115524400
79
+ version_requirements: *70151347115100
80
80
  description: Rails gem for obscuring database fields. Uses OpenSSL.
81
81
  email: jvaneaton@tangogroup.com
82
82
  executables: []
@@ -113,7 +113,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
113
113
  version: '0'
114
114
  segments:
115
115
  - 0
116
- hash: -2965139016655371852
116
+ hash: -3041809664220418930
117
117
  required_rubygems_version: !ruby/object:Gem::Requirement
118
118
  none: false
119
119
  requirements: