jcnnghm-acts_as_secure 1.0.6

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.
@@ -0,0 +1,4 @@
1
+ --colour
2
+ --format progress
3
+ --loadby mtime
4
+ --reverse
@@ -0,0 +1,61 @@
1
+ require 'active_record'
2
+ require 'active_support/core_ext/logger' rescue nil # rails3
3
+
4
+ require 'acts_as_secure'
5
+
6
+ ActiveRecord::Base.establish_connection({'adapter' => 'sqlite3', 'database' => ':memory:'})
7
+ ActiveRecord::Base.logger = Logger.new("#{File.dirname(__FILE__)}/active_record.log")
8
+
9
+ connection = ActiveRecord::Base.connection
10
+
11
+ connection.create_table :fruits do |t|
12
+ t.string :name
13
+ end
14
+
15
+ connection.create_table :secret_fruits do |t|
16
+ t.column :name, :binary
17
+ t.column :fruit_id, :integer
18
+ end
19
+
20
+ connection.create_table :uber_secret_fruits do |t|
21
+ t.column :name, :binary
22
+ t.column :fruit_id, :integer
23
+ end
24
+
25
+
26
+ class Rot13CryptoProvider
27
+ class << self
28
+ def encrypt(arg)
29
+ arg.tr("A-Za-z", "N-ZA-Mn-za-m")
30
+ end
31
+ alias_method :decrypt, :encrypt
32
+ end
33
+ end
34
+
35
+ class SaltedRot13CryptoProvider
36
+ def initialize(salt)
37
+ @salt = salt
38
+ end
39
+ def encrypt(arg)
40
+ @salt + arg.tr("A-Za-z", "N-ZA-Mn-za-m")
41
+ end
42
+ def decrypt(arg)
43
+ arg[@salt.size .. -1].tr("A-Za-z", "N-ZA-Mn-za-m")
44
+ end
45
+ end
46
+
47
+
48
+ class Fruit < ActiveRecord::Base
49
+ has_one :secret_fruit
50
+ has_one :uber_secret_fruit
51
+ end
52
+
53
+ class SecretFruit < ActiveRecord::Base
54
+ acts_as_secure :crypto_provider => Rot13CryptoProvider
55
+ belongs_to :fruit
56
+ end
57
+
58
+ class UberSecretFruit < ActiveRecord::Base
59
+ acts_as_secure
60
+ belongs_to :fruit
61
+ end
metadata ADDED
@@ -0,0 +1,161 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jcnnghm-acts_as_secure
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease: false
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 6
10
+ version: 1.0.6
11
+ platform: ruby
12
+ authors:
13
+ - Justin Cunningham
14
+ - 2007 Revolution Health Group LLC.
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2011-02-20 00:00:00 -05:00
20
+ default_executable:
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ name: bundler
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 23
31
+ segments:
32
+ - 1
33
+ - 0
34
+ - 0
35
+ version: 1.0.0
36
+ type: :development
37
+ version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ name: rspec
40
+ prerelease: false
41
+ requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ hash: 11
47
+ segments:
48
+ - 2
49
+ - 4
50
+ version: "2.4"
51
+ type: :development
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: activerecord
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ hash: 15
62
+ segments:
63
+ - 3
64
+ - 0
65
+ - 4
66
+ version: 3.0.4
67
+ type: :development
68
+ version_requirements: *id003
69
+ - !ruby/object:Gem::Dependency
70
+ name: sqlite3
71
+ prerelease: false
72
+ requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ hash: 3
78
+ segments:
79
+ - 0
80
+ version: "0"
81
+ type: :development
82
+ version_requirements: *id004
83
+ description: |-
84
+ When a model is marked with acts_as_secure, the :binary type fields are recognized as needed to be stored encrypted.
85
+ The plugin does before_save/after_save/after_find encryption/decryption thus making it transparent for a
86
+ code using the secure models.
87
+ email:
88
+ - justin@compucatedsolutions.com
89
+ executables: []
90
+
91
+ extensions: []
92
+
93
+ extra_rdoc_files: []
94
+
95
+ files:
96
+ - .gitignore
97
+ - .idea/.name
98
+ - .idea/.rakeTasks
99
+ - .idea/acts_as_secure.iml
100
+ - .idea/dictionaries/jcnnghm.xml
101
+ - .idea/encodings.xml
102
+ - .idea/inspectionProfiles/Project_Default.xml
103
+ - .idea/inspectionProfiles/profiles_settings.xml
104
+ - .idea/misc.xml
105
+ - .idea/modules.xml
106
+ - .idea/projectCodeStyle.xml
107
+ - .idea/vcs.xml
108
+ - .idea/workspace.xml
109
+ - CHANGELOG
110
+ - Gemfile
111
+ - Gemfile.lock
112
+ - MIT-LICENSE
113
+ - README.rdoc
114
+ - Rakefile
115
+ - acts_as_secure.gemspec
116
+ - lib/acts_as_secure.rb
117
+ - lib/acts_as_secure/acts_as_secure.rb
118
+ - lib/acts_as_secure/version.rb
119
+ - lib/jcnnghm-acts_as_secure.rb
120
+ - spec/.gitignore
121
+ - spec/acts_as_secure_spec.rb
122
+ - spec/spec.opts
123
+ - spec/test_in_memory.rb
124
+ has_rdoc: true
125
+ homepage: http://rubygems.org/gems/jcnnghm-acts_as_secure
126
+ licenses: []
127
+
128
+ post_install_message:
129
+ rdoc_options: []
130
+
131
+ require_paths:
132
+ - lib
133
+ required_ruby_version: !ruby/object:Gem::Requirement
134
+ none: false
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ hash: 3
139
+ segments:
140
+ - 0
141
+ version: "0"
142
+ required_rubygems_version: !ruby/object:Gem::Requirement
143
+ none: false
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ hash: 23
148
+ segments:
149
+ - 1
150
+ - 3
151
+ - 6
152
+ version: 1.3.6
153
+ requirements: []
154
+
155
+ rubyforge_project: jcnnghm-acts_as_secure
156
+ rubygems_version: 1.3.7
157
+ signing_key:
158
+ specification_version: 3
159
+ summary: ActsAsSecure adds an ability to store ActiveRecord model's fields encrypted in a DB.
160
+ test_files: []
161
+