crypt_keeper 0.7.0 → 0.8.0

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.
data/.gitignore CHANGED
@@ -17,3 +17,4 @@ test/version_tmp
17
17
  tmp
18
18
  spec/debug.log
19
19
  spec/database.yml
20
+ bin/
data/Guardfile CHANGED
@@ -1,7 +1,7 @@
1
1
  # A sample Guardfile
2
2
  # More info at https://github.com/guard/guard#readme
3
3
 
4
- guard 'rspec', version: 2, all_on_start: false, all_after_pass: false, cli: '--fail-fast' do
4
+ guard 'rspec', all_on_start: false, all_after_pass: false, cli: '--fail-fast' do
5
5
  watch(%r{^spec/.+_spec\.rb$})
6
6
  watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
7
7
  watch('spec/spec_helper.rb') { "spec" }
data/crypt_keeper.gemspec CHANGED
@@ -19,10 +19,11 @@ Gem::Specification.new do |gem|
19
19
  gem.add_runtime_dependency 'activesupport', '>= 3.0'
20
20
  gem.add_runtime_dependency 'appraisal', '~> 0.5.1'
21
21
 
22
- gem.add_development_dependency 'rspec', '~> 2.11.0'
23
- gem.add_development_dependency 'guard', '~> 1.3.0'
24
- gem.add_development_dependency 'guard-rspec', '~> 1.2.0'
25
- gem.add_development_dependency 'rake', '~> 0.9.2.2'
22
+ gem.add_development_dependency 'rspec', '~> 2.12.0'
23
+ gem.add_development_dependency 'guard', '~> 1.6.0'
24
+ gem.add_development_dependency 'guard-rspec', '~> 2.3.0'
25
+ gem.add_development_dependency 'rake', '~> 10.0.3'
26
+ gem.add_development_dependency 'rb-fsevent', '~> 0.9.1'
26
27
 
27
28
  if RUBY_PLATFORM == 'java'
28
29
  gem.add_development_dependency 'jruby-openssl', '~> 0.7.7'
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/justin/work/Personal/crypt_keeper
3
3
  specs:
4
- crypt_keeper (0.6.1)
4
+ crypt_keeper (0.8.0)
5
5
  activerecord (>= 3.0)
6
6
  activesupport (>= 3.0)
7
7
  appraisal (~> 0.5.1)
@@ -9,54 +9,57 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activemodel (3.2.7)
13
- activesupport (= 3.2.7)
12
+ activemodel (3.2.9)
13
+ activesupport (= 3.2.9)
14
14
  builder (~> 3.0.0)
15
- activerecord (3.2.7)
16
- activemodel (= 3.2.7)
17
- activesupport (= 3.2.7)
15
+ activerecord (3.2.9)
16
+ activemodel (= 3.2.9)
17
+ activesupport (= 3.2.9)
18
18
  arel (~> 3.0.2)
19
19
  tzinfo (~> 0.3.29)
20
- activesupport (3.2.7)
20
+ activesupport (3.2.9)
21
21
  i18n (~> 0.6)
22
22
  multi_json (~> 1.0)
23
23
  appraisal (0.5.1)
24
24
  bundler
25
25
  rake
26
26
  arel (3.0.2)
27
- builder (3.0.0)
27
+ builder (3.0.4)
28
+ coderay (1.0.8)
28
29
  diff-lcs (1.1.3)
29
- ffi (1.1.5)
30
- guard (1.3.2)
31
- listen (>= 0.4.2)
30
+ guard (1.6.0)
31
+ listen (>= 0.6.0)
32
+ lumberjack (>= 1.0.2)
33
+ pry (>= 0.9.10)
32
34
  thor (>= 0.14.6)
33
- guard-rspec (1.2.1)
35
+ guard-rspec (2.3.3)
34
36
  guard (>= 1.1)
35
- i18n (0.6.0)
36
- listen (0.4.7)
37
- rb-fchange (~> 0.0.5)
38
- rb-fsevent (~> 0.9.1)
39
- rb-inotify (~> 0.8.8)
40
- multi_json (1.3.6)
37
+ rspec (~> 2.11)
38
+ i18n (0.6.1)
39
+ listen (0.6.0)
40
+ lumberjack (1.0.2)
41
+ method_source (0.8.1)
42
+ multi_json (1.5.0)
41
43
  mysql2 (0.3.11)
42
- pg (0.14.0)
43
- rake (0.9.2.2)
44
- rb-fchange (0.0.5)
45
- ffi
46
- rb-fsevent (0.9.1)
47
- rb-inotify (0.8.8)
48
- ffi (>= 0.5.0)
49
- rspec (2.11.0)
50
- rspec-core (~> 2.11.0)
51
- rspec-expectations (~> 2.11.0)
52
- rspec-mocks (~> 2.11.0)
53
- rspec-core (2.11.1)
54
- rspec-expectations (2.11.2)
44
+ pg (0.14.1)
45
+ pry (0.9.10)
46
+ coderay (~> 1.0.5)
47
+ method_source (~> 0.8)
48
+ slop (~> 3.3.1)
49
+ rake (10.0.3)
50
+ rb-fsevent (0.9.2)
51
+ rspec (2.12.0)
52
+ rspec-core (~> 2.12.0)
53
+ rspec-expectations (~> 2.12.0)
54
+ rspec-mocks (~> 2.12.0)
55
+ rspec-core (2.12.2)
56
+ rspec-expectations (2.12.1)
55
57
  diff-lcs (~> 1.1.3)
56
- rspec-mocks (2.11.2)
58
+ rspec-mocks (2.12.1)
59
+ slop (3.3.3)
57
60
  sqlite3 (1.3.6)
58
61
  thor (0.16.0)
59
- tzinfo (0.3.33)
62
+ tzinfo (0.3.35)
60
63
 
61
64
  PLATFORMS
62
65
  ruby
@@ -65,10 +68,11 @@ DEPENDENCIES
65
68
  activerecord (~> 3.0)
66
69
  activesupport (~> 3.0)
67
70
  crypt_keeper!
68
- guard (~> 1.3.0)
69
- guard-rspec (~> 1.2.0)
71
+ guard (~> 1.6.0)
72
+ guard-rspec (~> 2.3.0)
70
73
  mysql2 (~> 0.3.11)
71
74
  pg (~> 0.14.0)
72
- rake (~> 0.9.2.2)
73
- rspec (~> 2.11.0)
75
+ rake (~> 10.0.3)
76
+ rb-fsevent (~> 0.9.1)
77
+ rspec (~> 2.12.0)
74
78
  sqlite3
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/justin/work/Personal/crypt_keeper
3
3
  specs:
4
- crypt_keeper (0.6.1)
4
+ crypt_keeper (0.8.0)
5
5
  activerecord (>= 3.0)
6
6
  activesupport (>= 3.0)
7
7
  appraisal (~> 0.5.1)
@@ -9,54 +9,57 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activemodel (3.2.7)
13
- activesupport (= 3.2.7)
12
+ activemodel (3.2.9)
13
+ activesupport (= 3.2.9)
14
14
  builder (~> 3.0.0)
15
- activerecord (3.2.7)
16
- activemodel (= 3.2.7)
17
- activesupport (= 3.2.7)
15
+ activerecord (3.2.9)
16
+ activemodel (= 3.2.9)
17
+ activesupport (= 3.2.9)
18
18
  arel (~> 3.0.2)
19
19
  tzinfo (~> 0.3.29)
20
- activesupport (3.2.7)
20
+ activesupport (3.2.9)
21
21
  i18n (~> 0.6)
22
22
  multi_json (~> 1.0)
23
23
  appraisal (0.5.1)
24
24
  bundler
25
25
  rake
26
26
  arel (3.0.2)
27
- builder (3.0.0)
27
+ builder (3.0.4)
28
+ coderay (1.0.8)
28
29
  diff-lcs (1.1.3)
29
- ffi (1.1.5)
30
- guard (1.3.2)
31
- listen (>= 0.4.2)
30
+ guard (1.6.0)
31
+ listen (>= 0.6.0)
32
+ lumberjack (>= 1.0.2)
33
+ pry (>= 0.9.10)
32
34
  thor (>= 0.14.6)
33
- guard-rspec (1.2.1)
35
+ guard-rspec (2.3.3)
34
36
  guard (>= 1.1)
35
- i18n (0.6.0)
36
- listen (0.4.7)
37
- rb-fchange (~> 0.0.5)
38
- rb-fsevent (~> 0.9.1)
39
- rb-inotify (~> 0.8.8)
40
- multi_json (1.3.6)
37
+ rspec (~> 2.11)
38
+ i18n (0.6.1)
39
+ listen (0.6.0)
40
+ lumberjack (1.0.2)
41
+ method_source (0.8.1)
42
+ multi_json (1.5.0)
41
43
  mysql2 (0.3.11)
42
- pg (0.14.0)
43
- rake (0.9.2.2)
44
- rb-fchange (0.0.5)
45
- ffi
46
- rb-fsevent (0.9.1)
47
- rb-inotify (0.8.8)
48
- ffi (>= 0.5.0)
49
- rspec (2.11.0)
50
- rspec-core (~> 2.11.0)
51
- rspec-expectations (~> 2.11.0)
52
- rspec-mocks (~> 2.11.0)
53
- rspec-core (2.11.1)
54
- rspec-expectations (2.11.2)
44
+ pg (0.14.1)
45
+ pry (0.9.10)
46
+ coderay (~> 1.0.5)
47
+ method_source (~> 0.8)
48
+ slop (~> 3.3.1)
49
+ rake (10.0.3)
50
+ rb-fsevent (0.9.2)
51
+ rspec (2.12.0)
52
+ rspec-core (~> 2.12.0)
53
+ rspec-expectations (~> 2.12.0)
54
+ rspec-mocks (~> 2.12.0)
55
+ rspec-core (2.12.2)
56
+ rspec-expectations (2.12.1)
55
57
  diff-lcs (~> 1.1.3)
56
- rspec-mocks (2.11.2)
58
+ rspec-mocks (2.12.1)
59
+ slop (3.3.3)
57
60
  sqlite3 (1.3.6)
58
61
  thor (0.16.0)
59
- tzinfo (0.3.33)
62
+ tzinfo (0.3.35)
60
63
 
61
64
  PLATFORMS
62
65
  ruby
@@ -65,10 +68,11 @@ DEPENDENCIES
65
68
  activerecord (~> 3.1)
66
69
  activesupport (~> 3.1)
67
70
  crypt_keeper!
68
- guard (~> 1.3.0)
69
- guard-rspec (~> 1.2.0)
71
+ guard (~> 1.6.0)
72
+ guard-rspec (~> 2.3.0)
70
73
  mysql2 (~> 0.3.11)
71
74
  pg (~> 0.14.0)
72
- rake (~> 0.9.2.2)
73
- rspec (~> 2.11.0)
75
+ rake (~> 10.0.3)
76
+ rb-fsevent (~> 0.9.1)
77
+ rspec (~> 2.12.0)
74
78
  sqlite3
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/justin/work/Personal/crypt_keeper
3
3
  specs:
4
- crypt_keeper (0.6.1)
4
+ crypt_keeper (0.8.0)
5
5
  activerecord (>= 3.0)
6
6
  activesupport (>= 3.0)
7
7
  appraisal (~> 0.5.1)
@@ -9,54 +9,57 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activemodel (3.2.7)
13
- activesupport (= 3.2.7)
12
+ activemodel (3.2.9)
13
+ activesupport (= 3.2.9)
14
14
  builder (~> 3.0.0)
15
- activerecord (3.2.7)
16
- activemodel (= 3.2.7)
17
- activesupport (= 3.2.7)
15
+ activerecord (3.2.9)
16
+ activemodel (= 3.2.9)
17
+ activesupport (= 3.2.9)
18
18
  arel (~> 3.0.2)
19
19
  tzinfo (~> 0.3.29)
20
- activesupport (3.2.7)
20
+ activesupport (3.2.9)
21
21
  i18n (~> 0.6)
22
22
  multi_json (~> 1.0)
23
23
  appraisal (0.5.1)
24
24
  bundler
25
25
  rake
26
26
  arel (3.0.2)
27
- builder (3.0.0)
27
+ builder (3.0.4)
28
+ coderay (1.0.8)
28
29
  diff-lcs (1.1.3)
29
- ffi (1.1.5)
30
- guard (1.3.2)
31
- listen (>= 0.4.2)
30
+ guard (1.6.0)
31
+ listen (>= 0.6.0)
32
+ lumberjack (>= 1.0.2)
33
+ pry (>= 0.9.10)
32
34
  thor (>= 0.14.6)
33
- guard-rspec (1.2.1)
35
+ guard-rspec (2.3.3)
34
36
  guard (>= 1.1)
35
- i18n (0.6.0)
36
- listen (0.4.7)
37
- rb-fchange (~> 0.0.5)
38
- rb-fsevent (~> 0.9.1)
39
- rb-inotify (~> 0.8.8)
40
- multi_json (1.3.6)
37
+ rspec (~> 2.11)
38
+ i18n (0.6.1)
39
+ listen (0.6.0)
40
+ lumberjack (1.0.2)
41
+ method_source (0.8.1)
42
+ multi_json (1.5.0)
41
43
  mysql2 (0.3.11)
42
- pg (0.14.0)
43
- rake (0.9.2.2)
44
- rb-fchange (0.0.5)
45
- ffi
46
- rb-fsevent (0.9.1)
47
- rb-inotify (0.8.8)
48
- ffi (>= 0.5.0)
49
- rspec (2.11.0)
50
- rspec-core (~> 2.11.0)
51
- rspec-expectations (~> 2.11.0)
52
- rspec-mocks (~> 2.11.0)
53
- rspec-core (2.11.1)
54
- rspec-expectations (2.11.2)
44
+ pg (0.14.1)
45
+ pry (0.9.10)
46
+ coderay (~> 1.0.5)
47
+ method_source (~> 0.8)
48
+ slop (~> 3.3.1)
49
+ rake (10.0.3)
50
+ rb-fsevent (0.9.2)
51
+ rspec (2.12.0)
52
+ rspec-core (~> 2.12.0)
53
+ rspec-expectations (~> 2.12.0)
54
+ rspec-mocks (~> 2.12.0)
55
+ rspec-core (2.12.2)
56
+ rspec-expectations (2.12.1)
55
57
  diff-lcs (~> 1.1.3)
56
- rspec-mocks (2.11.2)
58
+ rspec-mocks (2.12.1)
59
+ slop (3.3.3)
57
60
  sqlite3 (1.3.6)
58
61
  thor (0.16.0)
59
- tzinfo (0.3.33)
62
+ tzinfo (0.3.35)
60
63
 
61
64
  PLATFORMS
62
65
  ruby
@@ -65,10 +68,11 @@ DEPENDENCIES
65
68
  activerecord (~> 3.2)
66
69
  activesupport (~> 3.2)
67
70
  crypt_keeper!
68
- guard (~> 1.3.0)
69
- guard-rspec (~> 1.2.0)
71
+ guard (~> 1.6.0)
72
+ guard-rspec (~> 2.3.0)
70
73
  mysql2 (~> 0.3.11)
71
74
  pg (~> 0.14.0)
72
- rake (~> 0.9.2.2)
73
- rspec (~> 2.11.0)
75
+ rake (~> 10.0.3)
76
+ rb-fsevent (~> 0.9.1)
77
+ rspec (~> 2.12.0)
74
78
  sqlite3
@@ -24,6 +24,6 @@ module CryptKeeper
24
24
  end
25
25
  end
26
26
 
27
- ActiveSupport.on_load :active_record do
27
+ ActiveSupport.on_load :crypt_keeper_mysql_aes_log do
28
28
  ActiveRecord::LogSubscriber.send :include, CryptKeeper::LogSubscriber::MysqlAes
29
29
  end
@@ -24,6 +24,6 @@ module CryptKeeper
24
24
  end
25
25
  end
26
26
 
27
- ActiveSupport.on_load :active_record do
27
+ ActiveSupport.on_load :crypt_keeper_posgres_pgp_log do
28
28
  ActiveRecord::LogSubscriber.send :include, CryptKeeper::LogSubscriber::PostgresPgp
29
29
  end
@@ -83,7 +83,11 @@ module CryptKeeper
83
83
 
84
84
  # Private: An instance of the encryptor class
85
85
  def encryptor
86
- @encryptor ||= encryptor_klass.new(crypt_keeper_options.dup)
86
+ @encryptor ||= if crypt_keeper_encryptor.blank?
87
+ raise ArgumentError.new('You must specify an encryptor')
88
+ else
89
+ encryptor_klass.new(crypt_keeper_options.dup)
90
+ end
87
91
  end
88
92
 
89
93
  # Private: The encryptor class
@@ -11,6 +11,8 @@ module CryptKeeper
11
11
  #
12
12
  # options - A hash, :key is required
13
13
  def initialize(options = {})
14
+ ActiveSupport.run_load_hooks(:crypt_keeper_mysql_aes_log, self)
15
+
14
16
  @key = options.fetch(:key) do
15
17
  raise ArgumentError, "Missing :key"
16
18
  end
@@ -10,6 +10,8 @@ module CryptKeeper
10
10
  #
11
11
  # options - A hash, :key is required
12
12
  def initialize(options = {})
13
+ ActiveSupport.run_load_hooks(:crypt_keeper_posgres_pgp_log, self)
14
+
13
15
  @key = options.fetch(:key) do
14
16
  raise ArgumentError, "Missing :key"
15
17
  end
@@ -1,3 +1,3 @@
1
1
  module CryptKeeper
2
- VERSION = "0.7.0"
2
+ VERSION = "0.8.0"
3
3
  end
@@ -4,6 +4,11 @@ module CryptKeeper::LogSubscriber
4
4
  describe MysqlAes do
5
5
  use_postgres
6
6
 
7
+ # Fire the ActiveSupport.on_load
8
+ before do
9
+ CryptKeeper::Provider::MysqlAes.new key: 'secret'
10
+ end
11
+
7
12
  subject { ::ActiveRecord::LogSubscriber.new }
8
13
 
9
14
  let(:input_query) do
@@ -4,6 +4,11 @@ module CryptKeeper::LogSubscriber
4
4
  describe PostgresPgp do
5
5
  use_postgres
6
6
 
7
+ # Fire the ActiveSupport.on_load
8
+ before do
9
+ CryptKeeper::Provider::PostgresPgp.new key: 'secret'
10
+ end
11
+
7
12
  subject { ::ActiveRecord::LogSubscriber.new }
8
13
 
9
14
  let(:input_query) do
data/spec/model_spec.rb CHANGED
@@ -13,18 +13,18 @@ module CryptKeeper
13
13
  end
14
14
 
15
15
  context "Fields" do
16
- it "should set the fields" do
16
+ it "enables encryption for the given fields" do
17
17
  subject.crypt_keeper :storage, :secret, encryptor: :fake_encryptor
18
18
  subject.crypt_keeper_fields.should == [:storage, :secret]
19
19
  end
20
20
 
21
- it "should raise an exception with missing field" do
21
+ it "raises an exception for missing field" do
22
22
  msg = "Column :none does not exist"
23
23
  subject.crypt_keeper :none, encryptor: :fake_encryptor
24
24
  expect { subject.new.save }.to raise_error(ArgumentError, msg)
25
25
  end
26
26
 
27
- it "should raise an exception with wrong field type" do
27
+ it "raises an exception for non text fields" do
28
28
  msg = "Column :name must be of type 'text' to be used for encryption"
29
29
  subject.crypt_keeper :name, encryptor: :fake_encryptor
30
30
  expect { subject.new.save }.to raise_error(ArgumentError, msg)
@@ -32,16 +32,20 @@ module CryptKeeper
32
32
  end
33
33
 
34
34
  context "Options" do
35
- it "should set the options" do
35
+ it "stores options in crypt_keeper_options" do
36
36
  subject.crypt_keeper :storage, :secret, key1: 1, key2: 2, encryptor: :fake_encryptor
37
37
  subject.crypt_keeper_options.should == { key1: 1, key2: 2 }
38
38
  end
39
39
 
40
- it "should accept class name (as string) for encryptor option" do
40
+ it "accepts the class name as a string" do
41
41
  subject.crypt_keeper :storage, :secret, key1: 1, key2: 2, encryptor: "FakeEncryptor"
42
42
  subject.send(:encryptor_klass).should == CryptKeeper::Provider::FakeEncryptor
43
+ end
43
44
 
44
- subject.instance_variable_set(:@encryptor_klass, nil)
45
+ it "raises an error on missing encryptor" do
46
+ msg = "You must specify an encryptor"
47
+ subject.crypt_keeper :storage, :secret
48
+ expect { subject.create! storage: 'asdf' }.to raise_error(ArgumentError, msg)
45
49
  end
46
50
  end
47
51
  end
@@ -10,13 +10,8 @@ module CryptKeeper
10
10
  Digest::SHA256.digest('cake')
11
11
  end
12
12
 
13
- it "should extract the key and digest it" do
14
- subject.key.should == hexed_key
15
- end
16
-
17
- it "should raise an exception with a missing key" do
18
- expect { Aes.new }.to raise_error(ArgumentError, "Missing :key")
19
- end
13
+ its(:key) { should == hexed_key }
14
+ specify { expect { Aes.new }.to raise_error(ArgumentError, "Missing :key") }
20
15
  end
21
16
 
22
17
  describe "#encrypt" do
@@ -24,11 +19,8 @@ module CryptKeeper
24
19
  subject.encrypt 'string'
25
20
  end
26
21
 
27
- it "should encrypt the string" do
28
- encrypted.should_not == 'string'
29
- encrypted.should_not be_nil
30
- encrypted.should_not be_empty
31
- end
22
+ specify { encrypted.should_not == 'string' }
23
+ specify { encrypted.should_not be_blank }
32
24
  end
33
25
 
34
26
  describe "#decrypt" do
@@ -36,9 +28,7 @@ module CryptKeeper
36
28
  subject.decrypt "MC41MDk5MjI2NjgxMDI1MDI2OmNyeXB0X2tlZXBlcjpPI/8dCqWXDMVj7Jqs\nuwf/\n"
37
29
  end
38
30
 
39
- it "should decrypt the string" do
40
- decrypted.should == 'string'
41
- end
31
+ specify { decrypted.should == 'string' }
42
32
  end
43
33
  end
44
34
  end
@@ -19,22 +19,16 @@ module CryptKeeper
19
19
  its(:key) { should == 'candy' }
20
20
 
21
21
  describe "#initialize" do
22
- it "should raise an exception with a missing key" do
23
- expect { MysqlAes.new }.to raise_error(ArgumentError, "Missing :key")
24
- end
22
+ specify { expect { MysqlAes.new }.to raise_error(ArgumentError, "Missing :key") }
25
23
  end
26
24
 
27
25
  describe "#encrypt" do
28
- it "should encrypt the string" do
29
- subject.encrypt(plain_text).should_not == plain_text
30
- subject.encrypt(plain_text).should_not be_empty
31
- end
26
+ specify { subject.encrypt(plain_text).should_not == plain_text }
27
+ specify { subject.encrypt(plain_text).should_not be_blank }
32
28
  end
33
29
 
34
30
  describe "#decrypt" do
35
- it "should decrypt the string" do
36
- subject.decrypt(cipher_text).should == plain_text
37
- end
31
+ specify { subject.decrypt(cipher_text).should == plain_text }
38
32
  end
39
33
  end
40
34
  end
@@ -16,27 +16,23 @@ module CryptKeeper
16
16
  its(:key) { should == 'candy' }
17
17
 
18
18
  describe "#initialize" do
19
- it "should raise an exception with a missing key" do
20
- expect { PostgresPgp.new }.to raise_error(ArgumentError, "Missing :key")
21
- end
19
+ specify { expect { PostgresPgp.new }.to raise_error(ArgumentError, "Missing :key") }
22
20
  end
23
21
 
24
22
  describe "#encrypt" do
25
- it "should encrypt the string" do
26
- subject.encrypt(plain_text).should_not == plain_text
27
- subject.encrypt(plain_text).should_not be_empty
23
+ context "Strings" do
24
+ specify { subject.encrypt(plain_text).should_not == plain_text }
25
+ specify { subject.encrypt(plain_text).should_not be_empty }
28
26
  end
29
27
 
30
- it "encrypts integers" do
31
- subject.encrypt(integer_plain_text).should_not == integer_plain_text
32
- subject.encrypt(integer_plain_text).should_not be_empty
28
+ context "Integers" do
29
+ specify { subject.encrypt(integer_plain_text).should_not == integer_plain_text }
30
+ specify { subject.encrypt(integer_plain_text).should_not be_empty }
33
31
  end
34
32
  end
35
33
 
36
34
  describe "#decrypt" do
37
- it "should decrypt the string" do
38
- subject.decrypt(cipher_text).should == plain_text
39
- end
35
+ specify { subject.decrypt(cipher_text).should == plain_text }
40
36
  end
41
37
  end
42
38
  end
@@ -8,7 +8,6 @@ module CryptKeeper
8
8
  class SensitiveData < ActiveRecord::Base; end
9
9
 
10
10
  module ConnectionHelpers
11
-
12
11
  def use_postgres
13
12
  before :all do
14
13
  ::ActiveRecord::Base.clear_active_connections!
@@ -29,7 +28,7 @@ module CryptKeeper
29
28
  before :all do
30
29
  ::ActiveRecord::Base.clear_active_connections!
31
30
  ::ActiveRecord::Base.establish_connection(:adapter => 'sqlite3',
32
- :database => ':memory:')
31
+ :database => ':memory:')
33
32
 
34
33
  ::ActiveRecord::Schema.define do
35
34
  create_table :sensitive_data, :force => true do |t|
@@ -40,7 +39,6 @@ module CryptKeeper
40
39
  end
41
40
  end
42
41
  end
43
-
44
42
  end
45
43
  end
46
44
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crypt_keeper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-07 00:00:00.000000000 Z
12
+ date: 2012-12-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
@@ -66,7 +66,7 @@ dependencies:
66
66
  requirements:
67
67
  - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: 2.11.0
69
+ version: 2.12.0
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -74,7 +74,7 @@ dependencies:
74
74
  requirements:
75
75
  - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: 2.11.0
77
+ version: 2.12.0
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: guard
80
80
  requirement: !ruby/object:Gem::Requirement
@@ -82,7 +82,7 @@ dependencies:
82
82
  requirements:
83
83
  - - ~>
84
84
  - !ruby/object:Gem::Version
85
- version: 1.3.0
85
+ version: 1.6.0
86
86
  type: :development
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
@@ -90,7 +90,7 @@ dependencies:
90
90
  requirements:
91
91
  - - ~>
92
92
  - !ruby/object:Gem::Version
93
- version: 1.3.0
93
+ version: 1.6.0
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: guard-rspec
96
96
  requirement: !ruby/object:Gem::Requirement
@@ -98,7 +98,7 @@ dependencies:
98
98
  requirements:
99
99
  - - ~>
100
100
  - !ruby/object:Gem::Version
101
- version: 1.2.0
101
+ version: 2.3.0
102
102
  type: :development
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
@@ -106,7 +106,7 @@ dependencies:
106
106
  requirements:
107
107
  - - ~>
108
108
  - !ruby/object:Gem::Version
109
- version: 1.2.0
109
+ version: 2.3.0
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: rake
112
112
  requirement: !ruby/object:Gem::Requirement
@@ -114,7 +114,7 @@ dependencies:
114
114
  requirements:
115
115
  - - ~>
116
116
  - !ruby/object:Gem::Version
117
- version: 0.9.2.2
117
+ version: 10.0.3
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
@@ -122,7 +122,23 @@ dependencies:
122
122
  requirements:
123
123
  - - ~>
124
124
  - !ruby/object:Gem::Version
125
- version: 0.9.2.2
125
+ version: 10.0.3
126
+ - !ruby/object:Gem::Dependency
127
+ name: rb-fsevent
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: 0.9.1
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 0.9.1
126
142
  - !ruby/object:Gem::Dependency
127
143
  name: sqlite3
128
144
  requirement: !ruby/object:Gem::Requirement
@@ -227,7 +243,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
227
243
  version: '0'
228
244
  segments:
229
245
  - 0
230
- hash: 1508799386363054050
246
+ hash: 838883882659964076
231
247
  required_rubygems_version: !ruby/object:Gem::Requirement
232
248
  none: false
233
249
  requirements:
@@ -236,10 +252,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
236
252
  version: '0'
237
253
  segments:
238
254
  - 0
239
- hash: 1508799386363054050
255
+ hash: 838883882659964076
240
256
  requirements: []
241
257
  rubyforge_project:
242
- rubygems_version: 1.8.23
258
+ rubygems_version: 1.8.24
243
259
  signing_key:
244
260
  specification_version: 3
245
261
  summary: Transparent encryption for ActiveRecord that isn't over-engineered