mongoid-encryptor 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ 0.0.5
5
+ -----
6
+
7
+ * added support for ruby-1.9.3.
8
+ * added support for mongoid 2.x.x.
9
+ * updated dependencies.
10
+
11
+ 0.0.4
12
+ -----
13
+
14
+ * fixed encryption bedavior in embedded document.
15
+
4
16
  0.0.3
5
17
  -----
6
18
 
data/README.md CHANGED
@@ -4,6 +4,14 @@ mongoid-encryptor
4
4
  mongoid-encryptor encrypts and decrypts one or more fields in a Mongoid model.
5
5
 
6
6
 
7
+ Prerequisites
8
+ -------------
9
+
10
+ * ruby 1.9.2 or 1.9.3
11
+ * mongoid 2.0 or later
12
+ * activesupport 3.0 or later
13
+
14
+
7
15
  Install
8
16
  -------
9
17
 
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ require 'active_support/concern'
2
3
  require 'encrypted_strings'
3
4
 
4
5
  module Mongoid #:nodoc:
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Mongoid #:nodoc:
4
4
  module Encryptor
5
- VERSION = '0.0.4'
5
+ VERSION = '0.0.5'
6
6
  end
7
7
  end
@@ -5,29 +5,37 @@ describe "Symmetric encryption on embedded document" do
5
5
  let(:person) do
6
6
  Person.new(:first_name => 'John',
7
7
  :last_name => 'Smith',
8
- :credit_card => CreditCard.new(:number => '0000111122224444'))
8
+ :credential => ShaCredential.new(:email => 'john@example.com', :password => 'secret'),
9
+ :credit_cards => [CreditCard.new(:number => '0000111122224444')])
9
10
  end
10
11
 
11
12
  context "Has valid attributes" do
12
13
  context "Before save" do
13
- subject { person.credit_card }
14
- its(:number) { should_not be_encrypted }
15
- its(:number) { should eq('0000111122224444') }
16
- its(:number) { should_not eq("0pOZeQMtxuPsAPaoR3fkjMEUIoAuSbFO\n") }
17
- it { should be_valid }
14
+ subject { person.credit_cards }
15
+ it { should have(1).card }
16
+ describe "person.credit_cards.first" do
17
+ subject { person.credit_cards.first }
18
+ its(:number) { should_not be_encrypted }
19
+ its(:number) { should eq('0000111122224444') }
20
+ its(:number) { should_not eq("0pOZeQMtxuPsAPaoR3fkjMEUIoAuSbFO\n") }
21
+ it { should be_valid }
22
+ end
18
23
  end
19
24
 
20
25
  context "after save" do
21
- before { person.save!; puts person.credit_card.number }
22
- subject { person.credit_card }
23
- its(:number) { should be_encrypted }
24
- its(:number) { should eq("0pOZeQMtxuPsAPaoR3fkjMEUIoAuSbFO\n") }
25
- its(:number) { should eq('0000111122224444') }
26
+ before { person.save!; puts person.credit_cards.first.number }
27
+ subject { person.credit_cards }
28
+ describe "person.credit_cards.first" do
29
+ subject { person.credit_cards.first }
30
+ its(:number) { should be_encrypted }
31
+ its(:number) { should eq("0pOZeQMtxuPsAPaoR3fkjMEUIoAuSbFO\n") }
32
+ its(:number) { should eq('0000111122224444') }
33
+ end
26
34
  end
27
35
  end
28
36
 
29
37
  it "doesn't encrypt value of field after validation" do
30
- person.credit_card.valid?
38
+ person.credit_cards.first.valid?
31
39
  person.should be_valid
32
40
  end
33
41
 
@@ -4,7 +4,8 @@ class Person
4
4
  field :first_name
5
5
  field :last_name
6
6
 
7
- embeds_one :credit_card
7
+ embeds_one :credential
8
+ embeds_many :credit_cards
8
9
 
9
10
  validates_presence_of :first_name, :last_name
10
11
  end
@@ -4,8 +4,9 @@ class ShaCredential
4
4
 
5
5
  field :email
6
6
  field :password
7
+ field :options
7
8
 
8
9
  validates_presence_of :email, :password
9
10
 
10
- encrypts :password, :mode => :sha,
11
+ encrypts :password, :mode => :sha
11
12
  end
@@ -2,7 +2,11 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  describe 'SHA encryption' do
5
- let(:credential) { ShaCredential.create(:email => 'john.smith@example.com', :password => 'this is a secret') }
5
+ let(:credential) {
6
+ ShaCredential.create(:email => 'john.smith@example.com',
7
+ :password => 'this is a secret',
8
+ :options => ['foo', 'bar', 'baz'])
9
+ }
6
10
 
7
11
  context "#to_s" do
8
12
  subject { "#{credential.password}" }
@@ -37,7 +41,11 @@ describe 'SHA encryption' do
37
41
  end
38
42
 
39
43
  context "with mass assignment" do
40
- let(:credential) { ShaCredential.new(:email => 'john.smith@example.com', :password => 'this is a secret') }
44
+ let(:credential) {
45
+ ShaCredential.new(:email => 'john.smith@example.com',
46
+ :password => 'this is a secret',
47
+ :options => ['foo', 'bar', 'baz'])
48
+ }
41
49
  subject { credential.password }
42
50
  it { should eq('this is a secret') }
43
51
  it { should_not be_encrypted }
metadata CHANGED
@@ -1,83 +1,101 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mongoid-encryptor
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.5
4
5
  prerelease:
5
- version: 0.0.4
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Junya Ogura
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-02-25 00:00:00 +09:00
14
- default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
17
- name: mongoid
12
+ date: 2011-11-04 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: &70114218088480 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '3.0'
22
+ type: :runtime
18
23
  prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
24
+ version_requirements: *70114218088480
25
+ - !ruby/object:Gem::Dependency
26
+ name: mongoid
27
+ requirement: &70114218087820 !ruby/object:Gem::Requirement
20
28
  none: false
21
- requirements:
29
+ requirements:
22
30
  - - ~>
23
- - !ruby/object:Gem::Version
24
- version: 2.0.0.rc.7
31
+ - !ruby/object:Gem::Version
32
+ version: '2'
25
33
  type: :runtime
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: encrypted_strings
29
34
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
35
+ version_requirements: *70114218087820
36
+ - !ruby/object:Gem::Dependency
37
+ name: encrypted_strings
38
+ requirement: &70114218087240 !ruby/object:Gem::Requirement
31
39
  none: false
32
- requirements:
40
+ requirements:
33
41
  - - ~>
34
- - !ruby/object:Gem::Version
35
- version: "0.3"
42
+ - !ruby/object:Gem::Version
43
+ version: 0.3.3
36
44
  type: :runtime
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: bson_ext
40
45
  prerelease: false
41
- requirement: &id003 !ruby/object:Gem::Requirement
46
+ version_requirements: *70114218087240
47
+ - !ruby/object:Gem::Dependency
48
+ name: bson_ext
49
+ requirement: &70114218086600 !ruby/object:Gem::Requirement
42
50
  none: false
43
- requirements:
51
+ requirements:
44
52
  - - ~>
45
- - !ruby/object:Gem::Version
46
- version: "1.2"
53
+ - !ruby/object:Gem::Version
54
+ version: 1.4.0
47
55
  type: :development
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
56
+ prerelease: false
57
+ version_requirements: *70114218086600
58
+ - !ruby/object:Gem::Dependency
50
59
  name: database_cleaner
60
+ requirement: &70114218085960 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: 0.6.7
66
+ type: :development
51
67
  prerelease: false
52
- requirement: &id004 !ruby/object:Gem::Requirement
68
+ version_requirements: *70114218085960
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: &70114218085400 !ruby/object:Gem::Requirement
53
72
  none: false
54
- requirements:
73
+ requirements:
55
74
  - - ~>
56
- - !ruby/object:Gem::Version
57
- version: "0.6"
75
+ - !ruby/object:Gem::Version
76
+ version: 0.9.2
58
77
  type: :development
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
61
- name: rspec
62
78
  prerelease: false
63
- requirement: &id005 !ruby/object:Gem::Requirement
79
+ version_requirements: *70114218085400
80
+ - !ruby/object:Gem::Dependency
81
+ name: rspec
82
+ requirement: &70114218084640 !ruby/object:Gem::Requirement
64
83
  none: false
65
- requirements:
84
+ requirements:
66
85
  - - ~>
67
- - !ruby/object:Gem::Version
68
- version: "2.4"
86
+ - !ruby/object:Gem::Version
87
+ version: 2.7.0
69
88
  type: :development
70
- version_requirements: *id005
71
- description: mongoid-encryptor encrypts and decrypts one or more fields in a Mongoid model.
72
- email:
89
+ prerelease: false
90
+ version_requirements: *70114218084640
91
+ description: mongoid-encryptor encrypts and decrypts one or more fields in a Mongoid
92
+ model.
93
+ email:
73
94
  - junyaogura@gmail.com
74
95
  executables: []
75
-
76
96
  extensions: []
77
-
78
97
  extra_rdoc_files: []
79
-
80
- files:
98
+ files:
81
99
  - lib/mongoid/encryptor/version.rb
82
100
  - lib/mongoid/encryptor.rb
83
101
  - CHANGELOG.md
@@ -99,35 +117,37 @@ files:
99
117
  - spec/sha_with_salt_encryption_spec.rb
100
118
  - spec/spec_helper.rb
101
119
  - spec/symmetric_encryption_spec.rb
102
- has_rdoc: true
103
120
  homepage: http://github.com/juno/mongoid-encryptor
104
121
  licenses: []
105
-
106
122
  post_install_message:
107
123
  rdoc_options: []
108
-
109
- require_paths:
124
+ require_paths:
110
125
  - lib
111
- required_ruby_version: !ruby/object:Gem::Requirement
126
+ required_ruby_version: !ruby/object:Gem::Requirement
112
127
  none: false
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: "0"
117
- required_rubygems_version: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ segments:
133
+ - 0
134
+ hash: 581307921389602749
135
+ required_rubygems_version: !ruby/object:Gem::Requirement
118
136
  none: false
119
- requirements:
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- version: "0"
137
+ requirements:
138
+ - - ! '>='
139
+ - !ruby/object:Gem::Version
140
+ version: '0'
141
+ segments:
142
+ - 0
143
+ hash: 581307921389602749
123
144
  requirements: []
124
-
125
145
  rubyforge_project: mongoid-encryptor
126
- rubygems_version: 1.5.0
146
+ rubygems_version: 1.8.10
127
147
  signing_key:
128
148
  specification_version: 3
129
149
  summary: Encrypt a Mongoid model fields
130
- test_files:
150
+ test_files:
131
151
  - spec/asymmetric_encryption_spec.rb
132
152
  - spec/embedded_document_spec.rb
133
153
  - spec/encrypted_attributes_spec.rb