crypt_keeper 0.18.0 → 0.18.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ad20b829cfe76208db3c0bc6cf992a278bbd9659
4
- data.tar.gz: 15c42c4227ed3505c4eb0af0c511d81b258ba937
3
+ metadata.gz: 546bb7aa3367ddbf34fd11da51b3b36532eb7486
4
+ data.tar.gz: 175bc48b58322dd5a59b04ab885dde2f907d40a0
5
5
  SHA512:
6
- metadata.gz: df0c80648cd1bf39b88b81b5fd2e5b6fb404d01bbf529452453ab1bbd4c1654b578f274fc35a82f36d66014c62804c88363c2762af6383127e8ecc437c8b02ff
7
- data.tar.gz: aa457783481ed45731f0d1191907044a4904ec702365c6b9325e7219678329c86632ccf20e16cc2f9e7ff9008218741114d2a3fe0f8de57eea72baaf0c6baf64
6
+ metadata.gz: e76ab7631ea88e368017c1c33239f65a9a3f15edb84618134f776e4d8b947def43109f990cfff8d150adc313a39ddee0246be680c32a2aa924d4292cf3f343a4
7
+ data.tar.gz: ce6e2576f67345a2922e72cc65fd4e03f80c1bc4b620fe45dabaef2f1305ed7754204b6b485fca675c88ef8c294bbb921669fc316773def314b2be06422ebb01
@@ -21,13 +21,13 @@ Gem::Specification.new do |gem|
21
21
  gem.add_runtime_dependency 'aes', '~> 0.5.0'
22
22
  gem.add_runtime_dependency 'armor', '~> 0.0.2'
23
23
 
24
- gem.add_development_dependency 'rspec', '~> 2.13.0'
25
- gem.add_development_dependency 'guard', '~> 1.8.0'
26
- gem.add_development_dependency 'guard-rspec', '~> 2.5.4'
27
- gem.add_development_dependency 'rake', '~> 10.0.3'
24
+ gem.add_development_dependency 'rspec', '~> 2.14.0'
25
+ gem.add_development_dependency 'guard', '~> 2.6.1'
26
+ gem.add_development_dependency 'guard-rspec', '~> 4.2.9'
27
+ gem.add_development_dependency 'rake', '~> 10.3.1'
28
28
  gem.add_development_dependency 'rb-fsevent', '~> 0.9.1'
29
29
  gem.add_development_dependency 'coveralls'
30
- gem.add_development_dependency 'appraisal', '~> 0.5.2'
30
+ gem.add_development_dependency 'appraisal', '~> 1.0.0'
31
31
 
32
32
  if RUBY_PLATFORM == 'java'
33
33
  gem.add_development_dependency 'jruby-openssl', '~> 0.7.7'
@@ -36,7 +36,7 @@ Gem::Specification.new do |gem|
36
36
  gem.add_development_dependency 'activerecord-jdbcmysql-adapter'
37
37
  else
38
38
  gem.add_development_dependency 'sqlite3'
39
- gem.add_development_dependency 'pg', '~> 0.15.1'
39
+ gem.add_development_dependency 'pg', '~> 0.17.1'
40
40
  gem.add_development_dependency 'mysql2', '~> 0.3.11'
41
41
  end
42
42
  end
@@ -5,4 +5,4 @@ source "https://rubygems.org"
5
5
  gem "activerecord", "~> 3.1.10"
6
6
  gem "activesupport", "~> 3.1.10"
7
7
 
8
- gemspec :path=>"../"
8
+ gemspec :path => "../"
@@ -1,7 +1,7 @@
1
1
  PATH
2
- remote: /Users/justin/work/jmazzi/crypt_keeper
2
+ remote: ../
3
3
  specs:
4
- crypt_keeper (0.17.0)
4
+ crypt_keeper (0.18.0)
5
5
  activerecord (>= 3.1, < 4.2)
6
6
  activesupport (>= 3.1, < 4.2)
7
7
  aes (~> 0.5.0)
@@ -22,73 +22,82 @@ GEM
22
22
  activesupport (3.1.12)
23
23
  multi_json (~> 1.0)
24
24
  aes (0.5.0)
25
- appraisal (0.5.2)
25
+ appraisal (1.0.0)
26
26
  bundler
27
27
  rake
28
+ thor (>= 0.14.0)
28
29
  arel (2.2.3)
29
30
  armor (0.0.3)
30
31
  builder (3.0.4)
31
- coderay (1.0.9)
32
+ celluloid (0.15.2)
33
+ timers (~> 1.1.0)
34
+ celluloid-io (0.15.0)
35
+ celluloid (>= 0.15.0)
36
+ nio4r (>= 0.5.0)
37
+ coderay (1.1.0)
32
38
  coveralls (0.7.0)
33
39
  multi_json (~> 1.3)
34
40
  rest-client
35
41
  simplecov (>= 0.7)
36
42
  term-ansicolor
37
43
  thor
38
- diff-lcs (1.2.4)
39
- ffi (1.9.0)
44
+ diff-lcs (1.2.5)
45
+ docile (1.1.3)
46
+ ffi (1.9.3)
40
47
  formatador (0.2.4)
41
- guard (1.8.3)
48
+ guard (2.6.1)
42
49
  formatador (>= 0.2.4)
43
- listen (~> 1.3)
44
- lumberjack (>= 1.0.2)
45
- pry (>= 0.9.10)
46
- thor (>= 0.14.6)
47
- guard-rspec (2.5.4)
48
- guard (>= 1.1)
49
- rspec (~> 2.11)
50
- i18n (0.6.5)
51
- listen (1.3.1)
50
+ listen (~> 2.7)
51
+ lumberjack (~> 1.0)
52
+ pry (>= 0.9.12)
53
+ thor (>= 0.18.1)
54
+ guard-rspec (4.2.9)
55
+ guard (~> 2.1)
56
+ rspec (>= 2.14, < 4.0)
57
+ i18n (0.6.9)
58
+ listen (2.7.4)
59
+ celluloid (>= 0.15.2)
60
+ celluloid-io (>= 0.15.0)
52
61
  rb-fsevent (>= 0.9.3)
53
62
  rb-inotify (>= 0.9)
54
- rb-kqueue (>= 0.2)
55
- lumberjack (1.0.4)
63
+ lumberjack (1.0.5)
56
64
  method_source (0.8.2)
57
- mime-types (1.25)
58
- multi_json (1.8.2)
59
- mysql2 (0.3.13)
60
- pg (0.15.1)
61
- pry (0.9.12.2)
62
- coderay (~> 1.0.5)
65
+ mime-types (2.2)
66
+ multi_json (1.10.0)
67
+ mysql2 (0.3.15)
68
+ nio4r (1.0.0)
69
+ pg (0.17.1)
70
+ pry (0.9.12.6)
71
+ coderay (~> 1.0)
63
72
  method_source (~> 0.8)
64
73
  slop (~> 3.4)
65
- rake (10.0.4)
66
- rb-fsevent (0.9.3)
67
- rb-inotify (0.9.2)
68
- ffi (>= 0.5.0)
69
- rb-kqueue (0.2.0)
74
+ rake (10.3.1)
75
+ rb-fsevent (0.9.4)
76
+ rb-inotify (0.9.4)
70
77
  ffi (>= 0.5.0)
71
78
  rest-client (1.6.7)
72
79
  mime-types (>= 1.16)
73
- rspec (2.13.0)
74
- rspec-core (~> 2.13.0)
75
- rspec-expectations (~> 2.13.0)
76
- rspec-mocks (~> 2.13.0)
77
- rspec-core (2.13.1)
78
- rspec-expectations (2.13.0)
80
+ rspec (2.14.1)
81
+ rspec-core (~> 2.14.0)
82
+ rspec-expectations (~> 2.14.0)
83
+ rspec-mocks (~> 2.14.0)
84
+ rspec-core (2.14.8)
85
+ rspec-expectations (2.14.5)
79
86
  diff-lcs (>= 1.1.3, < 2.0)
80
- rspec-mocks (2.13.1)
81
- simplecov (0.7.1)
82
- multi_json (~> 1.0)
83
- simplecov-html (~> 0.7.1)
84
- simplecov-html (0.7.1)
85
- slop (3.4.6)
86
- sqlite3 (1.3.8)
87
- term-ansicolor (1.2.2)
88
- tins (~> 0.8)
89
- thor (0.18.1)
90
- tins (0.12.0)
91
- tzinfo (0.3.38)
87
+ rspec-mocks (2.14.6)
88
+ simplecov (0.8.2)
89
+ docile (~> 1.1.0)
90
+ multi_json
91
+ simplecov-html (~> 0.8.0)
92
+ simplecov-html (0.8.0)
93
+ slop (3.5.0)
94
+ sqlite3 (1.3.9)
95
+ term-ansicolor (1.3.0)
96
+ tins (~> 1.0)
97
+ thor (0.19.1)
98
+ timers (1.1.0)
99
+ tins (1.3.0)
100
+ tzinfo (0.3.39)
92
101
 
93
102
  PLATFORMS
94
103
  ruby
@@ -96,14 +105,14 @@ PLATFORMS
96
105
  DEPENDENCIES
97
106
  activerecord (~> 3.1.10)
98
107
  activesupport (~> 3.1.10)
99
- appraisal (~> 0.5.2)
108
+ appraisal (~> 1.0.0)
100
109
  coveralls
101
110
  crypt_keeper!
102
- guard (~> 1.8.0)
103
- guard-rspec (~> 2.5.4)
111
+ guard (~> 2.6.1)
112
+ guard-rspec (~> 4.2.9)
104
113
  mysql2 (~> 0.3.11)
105
- pg (~> 0.15.1)
106
- rake (~> 10.0.3)
114
+ pg (~> 0.17.1)
115
+ rake (~> 10.3.1)
107
116
  rb-fsevent (~> 0.9.1)
108
- rspec (~> 2.13.0)
117
+ rspec (~> 2.14.0)
109
118
  sqlite3
@@ -5,4 +5,4 @@ source "https://rubygems.org"
5
5
  gem "activerecord", "~> 3.2.14"
6
6
  gem "activesupport", "~> 3.2.14"
7
7
 
8
- gemspec :path=>"../"
8
+ gemspec :path => "../"
@@ -1,7 +1,7 @@
1
1
  PATH
2
- remote: /Users/justin/work/jmazzi/crypt_keeper
2
+ remote: ../
3
3
  specs:
4
- crypt_keeper (0.17.0)
4
+ crypt_keeper (0.18.0)
5
5
  activerecord (>= 3.1, < 4.2)
6
6
  activesupport (>= 3.1, < 4.2)
7
7
  aes (~> 0.5.0)
@@ -10,85 +10,94 @@ PATH
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- activemodel (3.2.14)
14
- activesupport (= 3.2.14)
13
+ activemodel (3.2.18)
14
+ activesupport (= 3.2.18)
15
15
  builder (~> 3.0.0)
16
- activerecord (3.2.14)
17
- activemodel (= 3.2.14)
18
- activesupport (= 3.2.14)
16
+ activerecord (3.2.18)
17
+ activemodel (= 3.2.18)
18
+ activesupport (= 3.2.18)
19
19
  arel (~> 3.0.2)
20
20
  tzinfo (~> 0.3.29)
21
- activesupport (3.2.14)
21
+ activesupport (3.2.18)
22
22
  i18n (~> 0.6, >= 0.6.4)
23
23
  multi_json (~> 1.0)
24
24
  aes (0.5.0)
25
- appraisal (0.5.2)
25
+ appraisal (1.0.0)
26
26
  bundler
27
27
  rake
28
- arel (3.0.2)
28
+ thor (>= 0.14.0)
29
+ arel (3.0.3)
29
30
  armor (0.0.3)
30
31
  builder (3.0.4)
31
- coderay (1.0.9)
32
+ celluloid (0.15.2)
33
+ timers (~> 1.1.0)
34
+ celluloid-io (0.15.0)
35
+ celluloid (>= 0.15.0)
36
+ nio4r (>= 0.5.0)
37
+ coderay (1.1.0)
32
38
  coveralls (0.7.0)
33
39
  multi_json (~> 1.3)
34
40
  rest-client
35
41
  simplecov (>= 0.7)
36
42
  term-ansicolor
37
43
  thor
38
- diff-lcs (1.2.4)
39
- ffi (1.9.0)
44
+ diff-lcs (1.2.5)
45
+ docile (1.1.3)
46
+ ffi (1.9.3)
40
47
  formatador (0.2.4)
41
- guard (1.8.3)
48
+ guard (2.6.1)
42
49
  formatador (>= 0.2.4)
43
- listen (~> 1.3)
44
- lumberjack (>= 1.0.2)
45
- pry (>= 0.9.10)
46
- thor (>= 0.14.6)
47
- guard-rspec (2.5.4)
48
- guard (>= 1.1)
49
- rspec (~> 2.11)
50
- i18n (0.6.5)
51
- listen (1.3.1)
50
+ listen (~> 2.7)
51
+ lumberjack (~> 1.0)
52
+ pry (>= 0.9.12)
53
+ thor (>= 0.18.1)
54
+ guard-rspec (4.2.9)
55
+ guard (~> 2.1)
56
+ rspec (>= 2.14, < 4.0)
57
+ i18n (0.6.9)
58
+ listen (2.7.4)
59
+ celluloid (>= 0.15.2)
60
+ celluloid-io (>= 0.15.0)
52
61
  rb-fsevent (>= 0.9.3)
53
62
  rb-inotify (>= 0.9)
54
- rb-kqueue (>= 0.2)
55
- lumberjack (1.0.4)
63
+ lumberjack (1.0.5)
56
64
  method_source (0.8.2)
57
- mime-types (1.25)
58
- multi_json (1.8.2)
59
- mysql2 (0.3.13)
60
- pg (0.15.1)
61
- pry (0.9.12.2)
62
- coderay (~> 1.0.5)
65
+ mime-types (2.2)
66
+ multi_json (1.10.0)
67
+ mysql2 (0.3.15)
68
+ nio4r (1.0.0)
69
+ pg (0.17.1)
70
+ pry (0.9.12.6)
71
+ coderay (~> 1.0)
63
72
  method_source (~> 0.8)
64
73
  slop (~> 3.4)
65
- rake (10.0.4)
66
- rb-fsevent (0.9.3)
67
- rb-inotify (0.9.2)
68
- ffi (>= 0.5.0)
69
- rb-kqueue (0.2.0)
74
+ rake (10.3.1)
75
+ rb-fsevent (0.9.4)
76
+ rb-inotify (0.9.4)
70
77
  ffi (>= 0.5.0)
71
78
  rest-client (1.6.7)
72
79
  mime-types (>= 1.16)
73
- rspec (2.13.0)
74
- rspec-core (~> 2.13.0)
75
- rspec-expectations (~> 2.13.0)
76
- rspec-mocks (~> 2.13.0)
77
- rspec-core (2.13.1)
78
- rspec-expectations (2.13.0)
80
+ rspec (2.14.1)
81
+ rspec-core (~> 2.14.0)
82
+ rspec-expectations (~> 2.14.0)
83
+ rspec-mocks (~> 2.14.0)
84
+ rspec-core (2.14.8)
85
+ rspec-expectations (2.14.5)
79
86
  diff-lcs (>= 1.1.3, < 2.0)
80
- rspec-mocks (2.13.1)
81
- simplecov (0.7.1)
82
- multi_json (~> 1.0)
83
- simplecov-html (~> 0.7.1)
84
- simplecov-html (0.7.1)
85
- slop (3.4.6)
86
- sqlite3 (1.3.8)
87
- term-ansicolor (1.2.2)
88
- tins (~> 0.8)
89
- thor (0.18.1)
90
- tins (0.12.0)
91
- tzinfo (0.3.38)
87
+ rspec-mocks (2.14.6)
88
+ simplecov (0.8.2)
89
+ docile (~> 1.1.0)
90
+ multi_json
91
+ simplecov-html (~> 0.8.0)
92
+ simplecov-html (0.8.0)
93
+ slop (3.5.0)
94
+ sqlite3 (1.3.9)
95
+ term-ansicolor (1.3.0)
96
+ tins (~> 1.0)
97
+ thor (0.19.1)
98
+ timers (1.1.0)
99
+ tins (1.3.0)
100
+ tzinfo (0.3.39)
92
101
 
93
102
  PLATFORMS
94
103
  ruby
@@ -96,14 +105,14 @@ PLATFORMS
96
105
  DEPENDENCIES
97
106
  activerecord (~> 3.2.14)
98
107
  activesupport (~> 3.2.14)
99
- appraisal (~> 0.5.2)
108
+ appraisal (~> 1.0.0)
100
109
  coveralls
101
110
  crypt_keeper!
102
- guard (~> 1.8.0)
103
- guard-rspec (~> 2.5.4)
111
+ guard (~> 2.6.1)
112
+ guard-rspec (~> 4.2.9)
104
113
  mysql2 (~> 0.3.11)
105
- pg (~> 0.15.1)
106
- rake (~> 10.0.3)
114
+ pg (~> 0.17.1)
115
+ rake (~> 10.3.1)
107
116
  rb-fsevent (~> 0.9.1)
108
- rspec (~> 2.13.0)
117
+ rspec (~> 2.14.0)
109
118
  sqlite3
@@ -5,4 +5,4 @@ source "https://rubygems.org"
5
5
  gem "activerecord", "~> 4.0.0"
6
6
  gem "activesupport", "~> 4.0.0"
7
7
 
8
- gemspec :path=>"../"
8
+ gemspec :path => "../"
@@ -1,7 +1,7 @@
1
1
  PATH
2
- remote: /Users/justin/work/jmazzi/crypt_keeper
2
+ remote: ../
3
3
  specs:
4
- crypt_keeper (0.17.0)
4
+ crypt_keeper (0.18.0)
5
5
  activerecord (>= 3.1, < 4.2)
6
6
  activesupport (>= 3.1, < 4.2)
7
7
  aes (~> 0.5.0)
@@ -10,93 +10,100 @@ PATH
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- activemodel (4.0.0)
14
- activesupport (= 4.0.0)
13
+ activemodel (4.0.5)
14
+ activesupport (= 4.0.5)
15
15
  builder (~> 3.1.0)
16
- activerecord (4.0.0)
17
- activemodel (= 4.0.0)
16
+ activerecord (4.0.5)
17
+ activemodel (= 4.0.5)
18
18
  activerecord-deprecated_finders (~> 1.0.2)
19
- activesupport (= 4.0.0)
19
+ activesupport (= 4.0.5)
20
20
  arel (~> 4.0.0)
21
21
  activerecord-deprecated_finders (1.0.3)
22
- activesupport (4.0.0)
23
- i18n (~> 0.6, >= 0.6.4)
22
+ activesupport (4.0.5)
23
+ i18n (~> 0.6, >= 0.6.9)
24
24
  minitest (~> 4.2)
25
25
  multi_json (~> 1.3)
26
26
  thread_safe (~> 0.1)
27
27
  tzinfo (~> 0.3.37)
28
28
  aes (0.5.0)
29
- appraisal (0.5.2)
29
+ appraisal (1.0.0)
30
30
  bundler
31
31
  rake
32
- arel (4.0.0)
32
+ thor (>= 0.14.0)
33
+ arel (4.0.2)
33
34
  armor (0.0.3)
34
- atomic (1.1.14)
35
35
  builder (3.1.4)
36
- coderay (1.0.9)
36
+ celluloid (0.15.2)
37
+ timers (~> 1.1.0)
38
+ celluloid-io (0.15.0)
39
+ celluloid (>= 0.15.0)
40
+ nio4r (>= 0.5.0)
41
+ coderay (1.1.0)
37
42
  coveralls (0.7.0)
38
43
  multi_json (~> 1.3)
39
44
  rest-client
40
45
  simplecov (>= 0.7)
41
46
  term-ansicolor
42
47
  thor
43
- diff-lcs (1.2.4)
44
- ffi (1.9.0)
48
+ diff-lcs (1.2.5)
49
+ docile (1.1.3)
50
+ ffi (1.9.3)
45
51
  formatador (0.2.4)
46
- guard (1.8.3)
52
+ guard (2.6.1)
47
53
  formatador (>= 0.2.4)
48
- listen (~> 1.3)
49
- lumberjack (>= 1.0.2)
50
- pry (>= 0.9.10)
51
- thor (>= 0.14.6)
52
- guard-rspec (2.5.4)
53
- guard (>= 1.1)
54
- rspec (~> 2.11)
55
- i18n (0.6.5)
56
- listen (1.3.1)
54
+ listen (~> 2.7)
55
+ lumberjack (~> 1.0)
56
+ pry (>= 0.9.12)
57
+ thor (>= 0.18.1)
58
+ guard-rspec (4.2.9)
59
+ guard (~> 2.1)
60
+ rspec (>= 2.14, < 4.0)
61
+ i18n (0.6.9)
62
+ listen (2.7.4)
63
+ celluloid (>= 0.15.2)
64
+ celluloid-io (>= 0.15.0)
57
65
  rb-fsevent (>= 0.9.3)
58
66
  rb-inotify (>= 0.9)
59
- rb-kqueue (>= 0.2)
60
- lumberjack (1.0.4)
67
+ lumberjack (1.0.5)
61
68
  method_source (0.8.2)
62
- mime-types (1.25)
69
+ mime-types (2.2)
63
70
  minitest (4.7.5)
64
- multi_json (1.8.2)
65
- mysql2 (0.3.13)
66
- pg (0.15.1)
67
- pry (0.9.12.2)
68
- coderay (~> 1.0.5)
71
+ multi_json (1.10.0)
72
+ mysql2 (0.3.15)
73
+ nio4r (1.0.0)
74
+ pg (0.17.1)
75
+ pry (0.9.12.6)
76
+ coderay (~> 1.0)
69
77
  method_source (~> 0.8)
70
78
  slop (~> 3.4)
71
- rake (10.0.4)
72
- rb-fsevent (0.9.3)
73
- rb-inotify (0.9.2)
74
- ffi (>= 0.5.0)
75
- rb-kqueue (0.2.0)
79
+ rake (10.3.1)
80
+ rb-fsevent (0.9.4)
81
+ rb-inotify (0.9.4)
76
82
  ffi (>= 0.5.0)
77
83
  rest-client (1.6.7)
78
84
  mime-types (>= 1.16)
79
- rspec (2.13.0)
80
- rspec-core (~> 2.13.0)
81
- rspec-expectations (~> 2.13.0)
82
- rspec-mocks (~> 2.13.0)
83
- rspec-core (2.13.1)
84
- rspec-expectations (2.13.0)
85
+ rspec (2.14.1)
86
+ rspec-core (~> 2.14.0)
87
+ rspec-expectations (~> 2.14.0)
88
+ rspec-mocks (~> 2.14.0)
89
+ rspec-core (2.14.8)
90
+ rspec-expectations (2.14.5)
85
91
  diff-lcs (>= 1.1.3, < 2.0)
86
- rspec-mocks (2.13.1)
87
- simplecov (0.7.1)
88
- multi_json (~> 1.0)
89
- simplecov-html (~> 0.7.1)
90
- simplecov-html (0.7.1)
91
- slop (3.4.6)
92
- sqlite3 (1.3.8)
93
- term-ansicolor (1.2.2)
94
- tins (~> 0.8)
95
- thor (0.18.1)
96
- thread_safe (0.1.3)
97
- atomic
98
- tins (0.12.0)
99
- tzinfo (0.3.38)
92
+ rspec-mocks (2.14.6)
93
+ simplecov (0.8.2)
94
+ docile (~> 1.1.0)
95
+ multi_json
96
+ simplecov-html (~> 0.8.0)
97
+ simplecov-html (0.8.0)
98
+ slop (3.5.0)
99
+ sqlite3 (1.3.9)
100
+ term-ansicolor (1.3.0)
101
+ tins (~> 1.0)
102
+ thor (0.19.1)
103
+ thread_safe (0.3.3)
104
+ timers (1.1.0)
105
+ tins (1.3.0)
106
+ tzinfo (0.3.39)
100
107
 
101
108
  PLATFORMS
102
109
  ruby
@@ -104,14 +111,14 @@ PLATFORMS
104
111
  DEPENDENCIES
105
112
  activerecord (~> 4.0.0)
106
113
  activesupport (~> 4.0.0)
107
- appraisal (~> 0.5.2)
114
+ appraisal (~> 1.0.0)
108
115
  coveralls
109
116
  crypt_keeper!
110
- guard (~> 1.8.0)
111
- guard-rspec (~> 2.5.4)
117
+ guard (~> 2.6.1)
118
+ guard-rspec (~> 4.2.9)
112
119
  mysql2 (~> 0.3.11)
113
- pg (~> 0.15.1)
114
- rake (~> 10.0.3)
120
+ pg (~> 0.17.1)
121
+ rake (~> 10.3.1)
115
122
  rb-fsevent (~> 0.9.1)
116
- rspec (~> 2.13.0)
123
+ rspec (~> 2.14.0)
117
124
  sqlite3
@@ -5,4 +5,4 @@ source "https://rubygems.org"
5
5
  gem "activerecord", "~> 4.1.0"
6
6
  gem "activesupport", "~> 4.1.0"
7
7
 
8
- gemspec :path=>"../"
8
+ gemspec :path => "../"
@@ -1,7 +1,7 @@
1
1
  PATH
2
- remote: /Users/justin/work/jmazzi/crypt_keeper
2
+ remote: ../
3
3
  specs:
4
- crypt_keeper (0.17.0)
4
+ crypt_keeper (0.18.0)
5
5
  activerecord (>= 3.1, < 4.2)
6
6
  activesupport (>= 3.1, < 4.2)
7
7
  aes (~> 0.5.0)
@@ -10,26 +10,32 @@ PATH
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- activemodel (4.1.0)
14
- activesupport (= 4.1.0)
13
+ activemodel (4.1.1)
14
+ activesupport (= 4.1.1)
15
15
  builder (~> 3.1)
16
- activerecord (4.1.0)
17
- activemodel (= 4.1.0)
18
- activesupport (= 4.1.0)
16
+ activerecord (4.1.1)
17
+ activemodel (= 4.1.1)
18
+ activesupport (= 4.1.1)
19
19
  arel (~> 5.0.0)
20
- activesupport (4.1.0)
20
+ activesupport (4.1.1)
21
21
  i18n (~> 0.6, >= 0.6.9)
22
22
  json (~> 1.7, >= 1.7.7)
23
23
  minitest (~> 5.1)
24
24
  thread_safe (~> 0.1)
25
25
  tzinfo (~> 1.1)
26
26
  aes (0.5.0)
27
- appraisal (0.5.2)
27
+ appraisal (1.0.0)
28
28
  bundler
29
29
  rake
30
+ thor (>= 0.14.0)
30
31
  arel (5.0.1.20140414130214)
31
32
  armor (0.0.3)
32
33
  builder (3.2.2)
34
+ celluloid (0.15.2)
35
+ timers (~> 1.1.0)
36
+ celluloid-io (0.15.0)
37
+ celluloid (>= 0.15.0)
38
+ nio4r (>= 0.5.0)
33
39
  coderay (1.1.0)
34
40
  coveralls (0.7.0)
35
41
  multi_json (~> 1.3)
@@ -41,48 +47,48 @@ GEM
41
47
  docile (1.1.3)
42
48
  ffi (1.9.3)
43
49
  formatador (0.2.4)
44
- guard (1.8.3)
50
+ guard (2.6.1)
45
51
  formatador (>= 0.2.4)
46
- listen (~> 1.3)
47
- lumberjack (>= 1.0.2)
48
- pry (>= 0.9.10)
49
- thor (>= 0.14.6)
50
- guard-rspec (2.5.4)
51
- guard (>= 1.1)
52
- rspec (~> 2.11)
52
+ listen (~> 2.7)
53
+ lumberjack (~> 1.0)
54
+ pry (>= 0.9.12)
55
+ thor (>= 0.18.1)
56
+ guard-rspec (4.2.9)
57
+ guard (~> 2.1)
58
+ rspec (>= 2.14, < 4.0)
53
59
  i18n (0.6.9)
54
60
  json (1.8.1)
55
- listen (1.3.1)
61
+ listen (2.7.4)
62
+ celluloid (>= 0.15.2)
63
+ celluloid-io (>= 0.15.0)
56
64
  rb-fsevent (>= 0.9.3)
57
65
  rb-inotify (>= 0.9)
58
- rb-kqueue (>= 0.2)
59
66
  lumberjack (1.0.5)
60
67
  method_source (0.8.2)
61
68
  mime-types (2.2)
62
69
  minitest (5.3.3)
63
- multi_json (1.9.2)
70
+ multi_json (1.10.0)
64
71
  mysql2 (0.3.15)
65
- pg (0.15.1)
72
+ nio4r (1.0.0)
73
+ pg (0.17.1)
66
74
  pry (0.9.12.6)
67
75
  coderay (~> 1.0)
68
76
  method_source (~> 0.8)
69
77
  slop (~> 3.4)
70
- rake (10.0.4)
78
+ rake (10.3.1)
71
79
  rb-fsevent (0.9.4)
72
- rb-inotify (0.9.3)
73
- ffi (>= 0.5.0)
74
- rb-kqueue (0.2.2)
80
+ rb-inotify (0.9.4)
75
81
  ffi (>= 0.5.0)
76
82
  rest-client (1.6.7)
77
83
  mime-types (>= 1.16)
78
- rspec (2.13.0)
79
- rspec-core (~> 2.13.0)
80
- rspec-expectations (~> 2.13.0)
81
- rspec-mocks (~> 2.13.0)
82
- rspec-core (2.13.1)
83
- rspec-expectations (2.13.0)
84
+ rspec (2.14.1)
85
+ rspec-core (~> 2.14.0)
86
+ rspec-expectations (~> 2.14.0)
87
+ rspec-mocks (~> 2.14.0)
88
+ rspec-core (2.14.8)
89
+ rspec-expectations (2.14.5)
84
90
  diff-lcs (>= 1.1.3, < 2.0)
85
- rspec-mocks (2.13.1)
91
+ rspec-mocks (2.14.6)
86
92
  simplecov (0.8.2)
87
93
  docile (~> 1.1.0)
88
94
  multi_json
@@ -94,7 +100,8 @@ GEM
94
100
  tins (~> 1.0)
95
101
  thor (0.19.1)
96
102
  thread_safe (0.3.3)
97
- tins (1.1.0)
103
+ timers (1.1.0)
104
+ tins (1.3.0)
98
105
  tzinfo (1.1.0)
99
106
  thread_safe (~> 0.1)
100
107
 
@@ -104,14 +111,14 @@ PLATFORMS
104
111
  DEPENDENCIES
105
112
  activerecord (~> 4.1.0)
106
113
  activesupport (~> 4.1.0)
107
- appraisal (~> 0.5.2)
114
+ appraisal (~> 1.0.0)
108
115
  coveralls
109
116
  crypt_keeper!
110
- guard (~> 1.8.0)
111
- guard-rspec (~> 2.5.4)
117
+ guard (~> 2.6.1)
118
+ guard-rspec (~> 4.2.9)
112
119
  mysql2 (~> 0.3.11)
113
- pg (~> 0.15.1)
114
- rake (~> 10.0.3)
120
+ pg (~> 0.17.1)
121
+ rake (~> 10.3.1)
115
122
  rb-fsevent (~> 0.9.1)
116
- rspec (~> 2.13.0)
123
+ rspec (~> 2.14.0)
117
124
  sqlite3
@@ -23,7 +23,7 @@ module CryptKeeper
23
23
  if value.blank?
24
24
  value
25
25
  else
26
- encrypt(value)
26
+ encrypt(value.to_s)
27
27
  end
28
28
  end
29
29
 
@@ -1,3 +1,3 @@
1
1
  module CryptKeeper
2
- VERSION = "0.18.0"
2
+ VERSION = "0.18.1"
3
3
  end
@@ -6,11 +6,7 @@ module CryptKeeper
6
6
  describe Model do
7
7
  use_sqlite
8
8
 
9
- before do
10
- SensitiveData.instance_variable_set('@encryptor_klass', nil)
11
- end
12
-
13
- subject { SensitiveData }
9
+ subject { create_model }
14
10
 
15
11
  describe "#crypt_keeper" do
16
12
  context "Fields" do
@@ -49,82 +45,82 @@ module CryptKeeper
49
45
  let(:plain_text) { 'plain_text' }
50
46
  let(:cipher_text) { 'tooltxet_nialp' }
51
47
 
52
- before do
53
- SensitiveData.crypt_keeper :storage, passphrase: 'tool', encryptor: :encryptor
54
- end
48
+ subject { create_encrypted_model :storage, passphrase: 'tool', encryptor: :encryptor }
55
49
 
56
50
  it "encrypts the data" do
57
51
  CryptKeeper::Provider::Encryptor.any_instance.should_receive(:encrypt).with('testing')
58
- SensitiveData.create!(storage: 'testing')
52
+ subject.create!(storage: 'testing')
59
53
  end
60
54
 
61
55
  it "decrypts the data" do
62
- record = SensitiveData.create!(storage: 'testing')
56
+ record = subject.create!(storage: 'testing')
63
57
  CryptKeeper::Provider::Encryptor.any_instance.should_receive(:decrypt).at_least(1).times.with('toolgnitset')
64
- SensitiveData.find(record).storage
58
+ subject.find(record).storage
65
59
  end
66
60
 
67
61
  it "returns the plaintext on decrypt" do
68
- record = SensitiveData.create!(storage: 'testing')
69
- SensitiveData.find(record).storage.should == 'testing'
62
+ record = subject.create!(storage: 'testing')
63
+ subject.find(record).storage.should == 'testing'
70
64
  end
71
65
 
72
66
  it "does not encrypt or decrypt nil" do
73
- data = SensitiveData.create!(storage: nil)
67
+ data = subject.create!(storage: nil)
74
68
  data.storage.should be_nil
75
69
  end
76
70
 
77
71
  it "does not encrypt or decrypt empty strings" do
78
- data = SensitiveData.create!(storage: "")
72
+ data = subject.create!(storage: "")
79
73
  data.storage.should be_empty
80
74
  end
75
+
76
+ it "converts numbers to strings" do
77
+ data = subject.create!(storage: 1)
78
+ data.reload.storage.should == "1"
79
+ end
81
80
  end
82
81
 
83
82
  context "Search" do
84
- before do
85
- SensitiveData.crypt_keeper :storage, passphrase: 'tool', encryptor: :search_encryptor
86
- end
83
+ subject { create_encrypted_model :storage, passphrase: 'tool', encryptor: :search_encryptor }
87
84
 
88
85
  it "searches if supported" do
89
- expect { SensitiveData.search_by_plaintext(:storage, 'test1') }.to_not raise_error
86
+ expect { subject.search_by_plaintext(:storage, 'test1') }.to_not raise_error
90
87
  end
91
88
 
92
89
  it "complains about bad columns" do
93
- expect { SensitiveData.search_by_plaintext(:what, 'test1') }.to raise_error(/what is not a crypt_keeper field/)
90
+ expect { subject.search_by_plaintext(:what, 'test1') }.to raise_error(/what is not a crypt_keeper field/)
94
91
  end
95
92
  end
96
93
 
97
94
  context "Encodings" do
98
- before do
99
- SensitiveData.crypt_keeper :storage, key: 'tool', salt: 'salt', encryptor: :aes_new, encoding: 'utf-8'
100
- end
95
+ subject { create_encrypted_model :storage, key: 'tool', salt: 'salt', encryptor: :aes_new, encoding: 'utf-8' }
101
96
 
102
97
  it "forces the encoding on decrypt" do
103
- record = SensitiveData.create!(storage: 'Tromsø')
98
+ record = subject.create!(storage: 'Tromsø')
104
99
  record.reload
105
100
  expect(record.storage).to eql('Tromsø')
106
101
  end
107
102
 
108
103
  it "converts from other encodings" do
109
104
  plaintext = "\xC2\xA92011 AACR".force_encoding('ASCII-8BIT')
110
- record = SensitiveData.create!(storage: plaintext)
105
+ record = subject.create!(storage: plaintext)
111
106
  record.reload
112
107
  expect(record.storage.encoding.name).to eql('UTF-8')
113
108
  end
114
109
  end
115
110
 
116
111
  context "Initial Table Encryption" do
112
+ subject { create_encrypted_model :storage, key: 'tool', salt: 'salt', encryptor: :aes_new }
113
+
117
114
  before do
118
- SensitiveData.crypt_keeper :storage, key: 'tool', salt: 'salt', encryptor: :aes_new, encoding: 'utf-8'
119
- SensitiveData.delete_all
120
- c = Class.new(ActiveRecord::Base).tap {|c| c.table_name = 'sensitive_data' }
115
+ subject.delete_all
116
+ c = create_model
121
117
  5.times { |i| c.create! storage: "testing#{i}" }
122
118
  end
123
119
 
124
120
  it "encrypts the table" do
125
- expect { SensitiveData.first(5) }.to raise_error(OpenSSL::Cipher::CipherError)
126
- SensitiveData.encrypt_table!
127
- expect { SensitiveData.first(5) }.not_to raise_error
121
+ expect { subject.first(5).map(&:storage) }.to raise_error(OpenSSL::Cipher::CipherError)
122
+ subject.encrypt_table!
123
+ expect { subject.first(5).map(&:storage) }.not_to raise_error
128
124
  end
129
125
  end
130
126
  end
@@ -33,17 +33,19 @@ module CryptKeeper
33
33
  end
34
34
 
35
35
  describe "#search" do
36
+ subject { mysql_model }
37
+
36
38
  it "finds the matching record" do
37
- SensitiveDataMysql.create!(storage: 'blah2')
38
- match = SensitiveDataMysql.create!(storage: 'blah')
39
- SensitiveDataMysql.search_by_plaintext(:storage, 'blah').first.should == match
39
+ subject.create!(storage: 'blah2')
40
+ match = subject.create!(storage: 'blah')
41
+ results = subject.search_by_plaintext(:storage, 'blah').first.should == match
40
42
  end
41
43
 
42
44
  it "keeps the scope" do
43
- SensitiveDataMysql.create!(storage: 'blah')
44
- SensitiveDataMysql.create!(storage: 'blah')
45
+ subject.create!(storage: 'blah')
46
+ subject.create!(storage: 'blah')
45
47
 
46
- scope = SensitiveDataMysql.limit(1)
48
+ scope = subject.limit(1)
47
49
  expect(scope.search_by_plaintext(:storage, 'blah').count).to eql(1)
48
50
  end
49
51
  end
@@ -38,10 +38,12 @@ module CryptKeeper
38
38
  end
39
39
 
40
40
  describe "#search" do
41
+ subject { postgres_model }
42
+
41
43
  it "finds the matching record" do
42
- SensitiveDataPg.create!(storage: 'blah2')
43
- match = SensitiveDataPg.create!(storage: 'blah')
44
- SensitiveDataPg.search_by_plaintext(:storage, 'blah').first.should == match
44
+ subject.create!(storage: 'blah2')
45
+ match = subject.create!(storage: 'blah')
46
+ subject.search_by_plaintext(:storage, 'blah').first.should == match
45
47
  end
46
48
  end
47
49
 
@@ -5,20 +5,6 @@ require 'logger'
5
5
  ::ActiveRecord::Migration.verbose = false
6
6
 
7
7
  module CryptKeeper
8
- class SensitiveDataMysql < ActiveRecord::Base
9
- self.table_name = 'sensitive_data'
10
- crypt_keeper :storage, encryptor: :mysql_aes_new, key: ENCRYPTION_PASSWORD,
11
- salt: 'salt'
12
- end
13
-
14
- class SensitiveDataPg < ActiveRecord::Base
15
- self.table_name = 'sensitive_data'
16
- crypt_keeper :storage, key: 'tool', encryptor: :postgres_pgp
17
- end
18
-
19
- class SensitiveData < ActiveRecord::Base
20
- end
21
-
22
8
  module ConnectionHelpers
23
9
  class CreateConnection
24
10
  def initialize(driver)
@@ -61,27 +47,51 @@ module CryptKeeper
61
47
  end
62
48
  end
63
49
  end
64
- end
65
50
 
66
- module LoggedQueries
67
- # Logs the queries run inside the block, and return them.
68
- def logged_queries(&block)
69
- queries = []
51
+ module AnonymousModels
52
+ def mysql_model
53
+ create_encrypted_model :storage, encryptor: :mysql_aes_new, key: ENCRYPTION_PASSWORD, salt: 'salt'
54
+ end
55
+
56
+ def postgres_model
57
+ create_encrypted_model :storage, key: 'tool', encryptor: :postgres_pgp
58
+ end
59
+
60
+ def create_encrypted_model(*args)
61
+ create_model.tap { |m| m.crypt_keeper *args }
62
+ end
70
63
 
71
- subscriber = ActiveSupport::Notifications
72
- .subscribe('sql.active_record') do |name, started, finished, id, payload|
73
- queries << payload[:sql]
64
+ def create_model
65
+ Class.new(ActiveRecord::Base) do
66
+ def self.table_name
67
+ "sensitive_data"
68
+ end
69
+ end
74
70
  end
71
+ end
75
72
 
76
- block.call
73
+ module LoggedQueries
74
+ # Logs the queries run inside the block, and return them.
75
+ def logged_queries(&block)
76
+ queries = []
77
77
 
78
- queries
78
+ subscriber = ActiveSupport::Notifications
79
+ .subscribe('sql.active_record') do |name, started, finished, id, payload|
80
+ queries << payload[:sql]
81
+ end
82
+
83
+ block.call
84
+
85
+ queries
79
86
 
80
- ensure ActiveSupport::Notifications.unsubscribe(subscriber)
87
+ ensure ActiveSupport::Notifications.unsubscribe(subscriber)
88
+ end
81
89
  end
90
+
82
91
  end
83
92
 
84
93
  RSpec.configure do |config|
85
94
  config.extend CryptKeeper::ConnectionHelpers
86
- config.include LoggedQueries
95
+ config.include CryptKeeper::AnonymousModels
96
+ config.include CryptKeeper::LoggedQueries
87
97
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crypt_keeper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.0
4
+ version: 0.18.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Mazzi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-09 00:00:00.000000000 Z
11
+ date: 2014-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -84,56 +84,56 @@ dependencies:
84
84
  requirements:
85
85
  - - "~>"
86
86
  - !ruby/object:Gem::Version
87
- version: 2.13.0
87
+ version: 2.14.0
88
88
  type: :development
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
91
91
  requirements:
92
92
  - - "~>"
93
93
  - !ruby/object:Gem::Version
94
- version: 2.13.0
94
+ version: 2.14.0
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: guard
97
97
  requirement: !ruby/object:Gem::Requirement
98
98
  requirements:
99
99
  - - "~>"
100
100
  - !ruby/object:Gem::Version
101
- version: 1.8.0
101
+ version: 2.6.1
102
102
  type: :development
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  requirements:
106
106
  - - "~>"
107
107
  - !ruby/object:Gem::Version
108
- version: 1.8.0
108
+ version: 2.6.1
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: guard-rspec
111
111
  requirement: !ruby/object:Gem::Requirement
112
112
  requirements:
113
113
  - - "~>"
114
114
  - !ruby/object:Gem::Version
115
- version: 2.5.4
115
+ version: 4.2.9
116
116
  type: :development
117
117
  prerelease: false
118
118
  version_requirements: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - "~>"
121
121
  - !ruby/object:Gem::Version
122
- version: 2.5.4
122
+ version: 4.2.9
123
123
  - !ruby/object:Gem::Dependency
124
124
  name: rake
125
125
  requirement: !ruby/object:Gem::Requirement
126
126
  requirements:
127
127
  - - "~>"
128
128
  - !ruby/object:Gem::Version
129
- version: 10.0.3
129
+ version: 10.3.1
130
130
  type: :development
131
131
  prerelease: false
132
132
  version_requirements: !ruby/object:Gem::Requirement
133
133
  requirements:
134
134
  - - "~>"
135
135
  - !ruby/object:Gem::Version
136
- version: 10.0.3
136
+ version: 10.3.1
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: rb-fsevent
139
139
  requirement: !ruby/object:Gem::Requirement
@@ -168,14 +168,14 @@ dependencies:
168
168
  requirements:
169
169
  - - "~>"
170
170
  - !ruby/object:Gem::Version
171
- version: 0.5.2
171
+ version: 1.0.0
172
172
  type: :development
173
173
  prerelease: false
174
174
  version_requirements: !ruby/object:Gem::Requirement
175
175
  requirements:
176
176
  - - "~>"
177
177
  - !ruby/object:Gem::Version
178
- version: 0.5.2
178
+ version: 1.0.0
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: sqlite3
181
181
  requirement: !ruby/object:Gem::Requirement
@@ -196,14 +196,14 @@ dependencies:
196
196
  requirements:
197
197
  - - "~>"
198
198
  - !ruby/object:Gem::Version
199
- version: 0.15.1
199
+ version: 0.17.1
200
200
  type: :development
201
201
  prerelease: false
202
202
  version_requirements: !ruby/object:Gem::Requirement
203
203
  requirements:
204
204
  - - "~>"
205
205
  - !ruby/object:Gem::Version
206
- version: 0.15.1
206
+ version: 0.17.1
207
207
  - !ruby/object:Gem::Dependency
208
208
  name: mysql2
209
209
  requirement: !ruby/object:Gem::Requirement
@@ -291,7 +291,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
291
291
  version: '0'
292
292
  requirements: []
293
293
  rubyforge_project:
294
- rubygems_version: 2.0.14
294
+ rubygems_version: 2.2.2
295
295
  signing_key:
296
296
  specification_version: 4
297
297
  summary: Transparent ActiveRecord encryption
@@ -310,4 +310,3 @@ test_files:
310
310
  - spec/spec_helper.rb
311
311
  - spec/support/active_record.rb
312
312
  - spec/support/encryptors.rb
313
- has_rdoc: