mongoid-encryptor 0.0.4 → 0.0.5

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/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