perpetuity 1.0.0 → 1.0.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.
@@ -45,16 +45,16 @@ describe 'serialization' do
45
45
  end
46
46
 
47
47
  it 'serializes objects into hashes' do
48
- mapper.serialize(article).should be == serialized_value
48
+ expect(mapper.serialize(article)).to be == serialized_value
49
49
  end
50
50
 
51
51
  it 'deserializes hashes into proper objects' do
52
52
  unserialized = mapper.find mapper.id_for(article)
53
- unserialized.should be_a Article
54
- unserialized.title.should be == article.title
55
- unserialized.body.should be == article.body
53
+ expect(unserialized).to be_a Article
54
+ expect(unserialized.title).to be == article.title
55
+ expect(unserialized.body).to be == article.body
56
56
  unserialized.comments.first.tap do |unserialized_comment|
57
- unserialized_comment.body.should be == comment.body
57
+ expect(unserialized_comment.body).to be == comment.body
58
58
  end
59
59
  end
60
60
  end
@@ -12,13 +12,13 @@ describe 'updating' do
12
12
 
13
13
  it 'updates an object in the database' do
14
14
  mapper.update article, title: new_title
15
- mapper.find(mapper.id_for article).title.should eq new_title
15
+ expect(mapper.find(mapper.id_for article).title).to eq new_title
16
16
  end
17
17
 
18
18
  it 'resaves the object in the database' do
19
19
  article.title = new_title
20
20
  mapper.save article
21
- mapper.find(mapper.id_for article).title.should eq new_title
21
+ expect(mapper.find(mapper.id_for article).title).to eq new_title
22
22
  end
23
23
 
24
24
  it 'only updates attributes which have changed since last retrieval' do
@@ -35,8 +35,8 @@ describe 'updating' do
35
35
  second_mapper.save second_article
36
36
 
37
37
  canonical_article = mapper.find(article_id)
38
- canonical_article.title.should == 'New title'
39
- canonical_article.views.should == 7
38
+ expect(canonical_article.title).to be == 'New title'
39
+ expect(canonical_article.views).to be == 7
40
40
  end
41
41
 
42
42
  it 'updates an object with referenced attributes' do
@@ -49,7 +49,7 @@ describe 'updating' do
49
49
  mapper.save retrieved_article
50
50
 
51
51
  retrieved_article = mapper.find(mapper.id_for retrieved_article)
52
- retrieved_article.author.should be_a Perpetuity::Reference
52
+ expect(retrieved_article.author).to be_a Perpetuity::Reference
53
53
  end
54
54
 
55
55
  it 'updates an object with an array of referenced attributes' do
@@ -66,8 +66,8 @@ describe 'updating' do
66
66
  mapper.save retrieved_book
67
67
 
68
68
  retrieved_authors = Perpetuity[Book].find(mapper.id_for retrieved_book).authors
69
- retrieved_authors.map(&:klass).should be == [User, User]
70
- retrieved_authors.map(&:id).should be == [mapper.id_for(dave), mapper.id_for(andy)]
69
+ expect(retrieved_authors.map(&:klass)).to be == [User, User]
70
+ expect(retrieved_authors.map(&:id)).to be == [mapper.id_for(dave), mapper.id_for(andy)]
71
71
  end
72
72
 
73
73
  describe 'atomic increments/decrements' do
@@ -77,13 +77,13 @@ describe 'updating' do
77
77
  it 'increments attributes of objects in the database' do
78
78
  mapper.increment article, :views
79
79
  mapper.increment article, :views, 10
80
- mapper.find(mapper.id_for(article)).views.should == view_count + 11
80
+ expect(mapper.find(mapper.id_for(article)).views).to be == view_count + 11
81
81
  end
82
82
 
83
83
  it 'decrements attributes of objects in the database' do
84
84
  mapper.decrement article, :views
85
85
  mapper.decrement article, :views, 10
86
- mapper.find(mapper.id_for(article)).views.should == view_count - 11
86
+ expect(mapper.find(mapper.id_for(article)).views).to be == view_count - 11
87
87
  end
88
88
  end
89
89
  end
@@ -6,14 +6,14 @@ module Perpetuity
6
6
  attribute = double('Attribute', name: :foo)
7
7
  subject << attribute
8
8
 
9
- subject.first.should eq attribute
9
+ expect(subject.first).to eq attribute
10
10
  end
11
11
 
12
12
  it 'can access attributes by name' do
13
13
  user_attribute = double('Attribute', name: :user)
14
14
  subject << user_attribute
15
15
 
16
- subject[:user].should eq user_attribute
16
+ expect(subject[:user]).to eq user_attribute
17
17
  end
18
18
  end
19
19
  end
@@ -6,29 +6,29 @@ module Perpetuity
6
6
  subject { attribute }
7
7
 
8
8
  it 'has a name' do
9
- subject.name.should == :article
9
+ expect(subject.name).to be == :article
10
10
  end
11
11
 
12
12
  it 'has a type' do
13
- subject.type.should == Object
13
+ expect(subject.type).to be == Object
14
14
  end
15
15
 
16
16
  it 'can get extra options' do
17
- attribute.options.should == { default: 1 }
18
- attribute.options(:default).should == 1
17
+ expect(attribute.options).to be == { default: 1 }
18
+ expect(attribute.options(:default)).to be == 1
19
19
  end
20
20
 
21
21
  it 'can be embedded' do
22
22
  attribute = Attribute.new :article, Object, embedded: true
23
- attribute.should be_embedded
23
+ expect(attribute).to be_embedded
24
24
  end
25
25
 
26
26
  it 'can match a regex' do
27
- expect(attribute =~ /article/).to be_true
27
+ expect(attribute =~ /article/).to be_truthy
28
28
  end
29
29
 
30
30
  it 'uses its name when converted to a string' do
31
- attribute.to_s.should == 'article'
31
+ expect(attribute.to_s).to be == 'article'
32
32
  end
33
33
  end
34
34
  end
@@ -3,6 +3,7 @@ require 'perpetuity/postgres'
3
3
 
4
4
  module Perpetuity
5
5
  describe Configuration do
6
+ before(:all) { Perpetuity.register_standard_adapters }
6
7
  let(:config) { Configuration.new }
7
8
 
8
9
  it 'sets a data source' do
@@ -13,28 +14,28 @@ module Perpetuity
13
14
  host: 'host',
14
15
  port: 1337
15
16
 
16
- config.data_source.should be_a Postgres
17
- config.data_source.db.should == 'perpetuity'
18
- config.data_source.username.should == 'username'
19
- config.data_source.password.should == 'password'
20
- config.data_source.host.should == 'host'
21
- config.data_source.port.should == 1337
17
+ expect(config.data_source).to be_a Postgres
18
+ expect(config.data_source.db).to eq 'perpetuity'
19
+ expect(config.data_source.username).to eq 'username'
20
+ expect(config.data_source.password).to eq 'password'
21
+ expect(config.data_source.host).to eq 'host'
22
+ expect(config.data_source.port).to eq 1337
22
23
  end
23
24
 
24
25
  it 'allows a URL as its data source' do
25
26
  db = "postgres://username:password@host:1337/database"
26
27
  data_source = config.data_source(db, pool_size: 20)
27
- data_source.should be_a Postgres
28
- data_source.username.should == 'username'
29
- data_source.password.should == 'password'
30
- data_source.host.should == 'host'
31
- data_source.port.should == 1337
32
- data_source.db.should == 'database'
33
- data_source.pool_size.should == 20
28
+ expect(data_source).to be_a Postgres
29
+ expect(data_source.username).to eq 'username'
30
+ expect(data_source.password).to eq 'password'
31
+ expect(data_source.host).to eq 'host'
32
+ expect(data_source.port).to eq 1337
33
+ expect(data_source.db).to eq 'database'
34
+ expect(data_source.pool_size).to eq 20
34
35
  end
35
36
 
36
37
  it 'sets up a logger by default' do
37
- config.logger.should be_a Logger
38
+ expect(config.logger).to be_a Logger
38
39
  end
39
40
  end
40
41
  end
@@ -9,23 +9,23 @@ module Perpetuity
9
9
 
10
10
  it 'injects an attribute into an object' do
11
11
  klass.inject_attribute object, :a, 1
12
- object.instance_variable_get(:@a).should eq 1
12
+ expect(object.instance_variable_get(:@a)).to eq 1
13
13
  end
14
14
 
15
15
  it 'injects data into an object' do
16
16
  klass.inject_data object, { a: 1, b: 2 }
17
- object.instance_variable_get(:@a).should eq 1
18
- object.instance_variable_get(:@b).should eq 2
17
+ expect(object.instance_variable_get(:@a)).to eq 1
18
+ expect(object.instance_variable_get(:@b)).to eq 2
19
19
  end
20
20
 
21
21
  it 'injects an id' do
22
22
  klass.inject_data object, { id: 1 }
23
- object.instance_variable_get(:@id).should eq 1
23
+ expect(object.instance_variable_get(:@id)).to eq 1
24
24
  end
25
25
 
26
26
  it 'injects a specified id' do
27
27
  klass.give_id_to object, 2
28
- object.instance_variable_get(:@id).should eq 2
28
+ expect(object.instance_variable_get(:@id)).to eq 2
29
29
  end
30
30
  end
31
31
  end
@@ -15,28 +15,29 @@ module Perpetuity
15
15
  context 'with one reference' do
16
16
  it 'loads objects based on the specified objects and attribute' do
17
17
  first.instance_variable_set :@id, 1
18
- mapper.should_receive(:find).with(1) { first }
18
+ expect(mapper).to receive(:find).with(1) { first }
19
19
  id_map = IdentityMap.new
20
- derefer.stub(map: id_map)
21
- registry.stub(:mapper_for)
22
- .with(Object, identity_map: id_map) { mapper }
20
+ allow(derefer).to receive(:map) { id_map }
21
+ allow(registry).to receive(:mapper_for)
22
+ .with(Object, identity_map: id_map)
23
+ .and_return mapper
23
24
 
24
25
  derefer.load first_ref
25
26
  id = derefer[first_ref].instance_variable_get(:@id)
26
- id.should == 1
27
+ expect(id).to be == 1
27
28
  end
28
29
  end
29
30
 
30
31
  context 'with no references' do
31
32
  it 'returns an empty array' do
32
- derefer.load(nil).should == []
33
+ expect(derefer.load(nil)).to be == []
33
34
  end
34
35
  end
35
36
 
36
37
  context 'with multiple references' do
37
38
  it 'returns the array of dereferenced objects' do
38
- mapper.should_receive(:find).with([1, 2]) { objects }
39
- derefer.load([first_ref, second_ref]).should == objects
39
+ expect(mapper).to receive(:find).with([1, 2]) { objects }
40
+ expect(derefer.load([first_ref, second_ref])).to be == objects
40
41
  end
41
42
  end
42
43
  end
@@ -18,7 +18,7 @@ module Perpetuity
18
18
  let(:object) { klass.new(1, 'foo') }
19
19
 
20
20
  before do
21
- mapper.stub(:id_for).with(object) { object.id }
21
+ allow(mapper).to receive(:id_for).with(object) { object.id }
22
22
  tracker << object
23
23
  end
24
24
 
@@ -26,23 +26,23 @@ module Perpetuity
26
26
  object.name = 'bar'
27
27
  retrieved = tracker[klass, 1]
28
28
 
29
- retrieved.id.should == 1
30
- retrieved.name.should == 'foo'
29
+ expect(retrieved.id).to be == 1
30
+ expect(retrieved.name).to be == 'foo'
31
31
  end
32
32
 
33
33
  specify 'the object returned is a duplicate' do
34
- tracker[klass, 1].should_not be object
34
+ expect(tracker[klass, 1]).not_to be object
35
35
  end
36
36
 
37
37
  it 'stringifies keys when checking' do
38
38
  retrieved = tracker[klass, '1']
39
- retrieved.id.should == 1
39
+ expect(retrieved.id).to be == 1
40
40
  end
41
41
  end
42
42
 
43
43
  context 'when the object does not exist in the IdentityMap' do
44
44
  it 'returns nil' do
45
- tracker[Object, 1].should be_nil
45
+ expect(tracker[Object, 1]).to be_nil
46
46
  end
47
47
  end
48
48
  end
@@ -9,27 +9,27 @@ module Perpetuity
9
9
  let(:duper) { Duplicator.new(book) }
10
10
 
11
11
  it 'duplicates an object' do
12
- duper.object.should be_a Book
13
- duper.object.should_not be book
12
+ expect(duper.object).to be_a Book
13
+ expect(duper.object).not_to be book
14
14
  end
15
15
 
16
16
  it 'duplicates attributes inside an object' do
17
17
  duped_book = duper.object
18
- duped_book.title.should be_a String
19
- duped_book.title.should == book.title
20
- duped_book.title.should_not be book.title
18
+ expect(duped_book.title).to be_a String
19
+ expect(duped_book.title).to be == book.title
20
+ expect(duped_book.title).not_to be book.title
21
21
  end
22
22
 
23
23
  it 'does not duplicate non-duplicable attributes' do
24
24
  # Symbols cannot be duped
25
25
  book = Book.new(:foo)
26
26
  duper = Duplicator.new(book)
27
- duper.object.title.should be :foo
27
+ expect(duper.object.title).to be :foo
28
28
  end
29
29
 
30
30
  it 'duplicates objects contained within array attributes' do
31
- duper.object.authors.first.should be_a User
32
- duper.object.authors.first.should_not be authors.first
31
+ expect(duper.object.authors.first).to be_a User
32
+ expect(duper.object.authors.first).not_to be authors.first
33
33
  end
34
34
  end
35
35
  end
@@ -21,23 +21,23 @@ module Perpetuity
21
21
  it 'returns the object with the given class and id' do
22
22
  retrieved = id_map[klass, 1]
23
23
 
24
- retrieved.id.should == 1
24
+ expect(retrieved.id).to be == 1
25
25
  end
26
26
 
27
27
  specify 'the object returned is the same object' do
28
- id_map[klass, 1].should be object
28
+ expect(id_map[klass, 1]).to be object
29
29
  end
30
30
  end
31
31
 
32
32
  context 'when the object does not exist in the IdentityMap' do
33
33
  it 'returns nil' do
34
- id_map[Object, 1].should be_nil
34
+ expect(id_map[Object, 1]).to be_nil
35
35
  end
36
36
  end
37
37
 
38
38
  it 'returns all of the ids it contains' do
39
39
  id_map << object
40
- id_map.ids_for(klass).should == [1]
40
+ expect(id_map.ids_for(klass)).to be == [1]
41
41
  end
42
42
  end
43
43
  end
@@ -11,7 +11,7 @@ module Perpetuity
11
11
 
12
12
  it { should have_mapper Object }
13
13
  it 'maps classes to instances of their mappers' do
14
- registry[Object].should be_a mapper
14
+ expect(registry[Object]).to be_a mapper
15
15
  end
16
16
 
17
17
  it 'raises a KeyError when trying to find a mapper for a missing class' do
@@ -26,8 +26,8 @@ module Perpetuity
26
26
  end
27
27
 
28
28
  it 'loads the definition for the specified mapper class' do
29
- Dir.should_receive(:[]).with('app/**/*_mapper.rb') { [mapper_file] }
30
- registry.should_receive(:load).with(mapper_file)
29
+ expect(Dir).to receive(:[]).with('app/**/*_mapper.rb') { [mapper_file] }
30
+ expect(registry).to receive(:load).with(mapper_file)
31
31
  registry.load_mappers
32
32
  end
33
33
  end
@@ -35,7 +35,7 @@ module Perpetuity
35
35
  it 'returns a mapper initialized with the specified identity map' do
36
36
  identity_map = double('IdentityMap')
37
37
  mapper = registry.mapper_for(Object, identity_map: identity_map)
38
- mapper.identity_map.should be identity_map
38
+ expect(mapper.identity_map).to be identity_map
39
39
  end
40
40
  end
41
41
  end
@@ -13,49 +13,49 @@ module Perpetuity
13
13
 
14
14
  it 'has correct attributes' do
15
15
  mapper_class.attribute :name
16
- mapper_class.attributes.should eq [:name]
16
+ expect(mapper_class.attributes).to eq [:name]
17
17
  end
18
18
 
19
19
  it 'returns an empty attribute list when no attributes have been assigned' do
20
- mapper_class.attributes.should be_empty
20
+ expect(mapper_class.attributes).to be_empty
21
21
  end
22
22
 
23
23
  it 'can have embedded attributes' do
24
24
  mapper_class.attribute :comments, embedded: true
25
- mapper_class.attribute_set[:comments].should be_embedded
25
+ expect(mapper_class.attribute_set[:comments]).to be_embedded
26
26
  end
27
27
 
28
28
  it 'registers itself with the mapper registry' do
29
29
  mapper_class.map Object, registry
30
- registry[Object].should be_instance_of mapper_class
30
+ expect(registry[Object]).to be_instance_of mapper_class
31
31
  end
32
32
 
33
33
  describe 'talking to the data source' do
34
34
  let(:data_source) { MongoDB.new(db: nil) }
35
35
  before do
36
- mapper_class.stub(data_source: data_source)
36
+ allow(mapper_class).to receive(:data_source) { data_source }
37
37
  mapper_class.map Object, registry
38
38
  end
39
39
 
40
40
  specify 'mappers use the data source that the mapper class uses' do
41
- mapper.data_source.should be data_source
41
+ expect(mapper.data_source).to be data_source
42
42
  end
43
43
 
44
44
  it 'inserts objects into a data source' do
45
45
  mapper_class.attribute :my_attribute
46
46
  obj = Object.new
47
47
  obj.instance_variable_set '@my_attribute', 'foo'
48
- data_source.should_receive(:can_serialize?).with('foo') { true }
49
- data_source.should_receive(:insert)
48
+ expect(data_source).to receive(:can_serialize?).with('foo') { true }
49
+ expect(data_source).to receive(:insert)
50
50
  .with('Object', [{ 'my_attribute' => 'foo' }], mapper.attribute_set)
51
51
  .and_return(['bar'])
52
52
 
53
- mapper.insert(obj).should be == 'bar'
53
+ expect(mapper.insert(obj)).to be == 'bar'
54
54
  end
55
55
 
56
56
  it 'counts objects of its mapped class in the data source' do
57
- data_source.should_receive(:count).with('Object') { 4 }
58
- mapper.count.should be == 4
57
+ expect(data_source).to receive(:count).with('Object') { 4 }
58
+ expect(mapper.count).to be == 4
59
59
  end
60
60
 
61
61
  describe 'finding specific objects' do
@@ -65,10 +65,10 @@ module Perpetuity
65
65
  it 'finds an object by ID' do
66
66
  returned_object.instance_variable_set :@id, 1
67
67
  criteria = data_source.query { |o| o.id == 1 }
68
- data_source.should_receive(:retrieve)
68
+ expect(data_source).to receive(:retrieve)
69
69
  .with('Object', criteria, options) { [returned_object] }
70
70
 
71
- mapper.find(1).should be == returned_object
71
+ expect(mapper.find(1)).to be == returned_object
72
72
  end
73
73
 
74
74
  it 'finds multiple objects by ID' do
@@ -77,38 +77,38 @@ module Perpetuity
77
77
  mapper.give_id_to second, 2
78
78
  criteria = data_source.query { |o| o.id.in [1, 2] }
79
79
  options.merge! limit: nil
80
- data_source.should_receive(:retrieve)
80
+ expect(data_source).to receive(:retrieve)
81
81
  .with('Object', criteria, options)
82
82
  .and_return [first, second]
83
83
 
84
- mapper.find([1, 2]).to_a.should be == [first, second]
84
+ expect(mapper.find([1, 2]).to_a).to be == [first, second]
85
85
  end
86
86
 
87
87
  it 'finds multiple objects with a block' do
88
88
  criteria = data_source.query { |o| o.name == 'foo' }
89
89
  options = self.options.merge(limit: nil)
90
- data_source.should_receive(:retrieve)
90
+ expect(data_source).to receive(:retrieve)
91
91
  .with('Object', criteria, options) { [returned_object] }.twice
92
92
 
93
- mapper.select { |e| e.name == 'foo' }.to_a.should be == [returned_object]
94
- mapper.find_all { |e| e.name == 'foo' }.to_a.should be == [returned_object]
93
+ expect(mapper.select { |e| e.name == 'foo' }.to_a).to be == [returned_object]
94
+ expect(mapper.find_all { |e| e.name == 'foo' }.to_a).to be == [returned_object]
95
95
  end
96
96
 
97
97
  it 'finds an object with a block' do
98
98
  criteria = data_source.query { |o| o.name == 'foo' }
99
- data_source.should_receive(:retrieve)
99
+ expect(data_source).to receive(:retrieve)
100
100
  .with('Object', criteria, options) { [returned_object] }.twice
101
- mapper.find { |o| o.name == 'foo' }.should be == returned_object
102
- mapper.detect { |o| o.name == 'foo' }.should be == returned_object
101
+ expect(mapper.find { |o| o.name == 'foo' }).to be == returned_object
102
+ expect(mapper.detect { |o| o.name == 'foo' }).to be == returned_object
103
103
  end
104
104
 
105
105
  it 'caches results' do
106
106
  mapper.give_id_to returned_object, 1
107
107
  criteria = data_source.query { |o| o.id == 1 }
108
108
  duplicate = returned_object.dup
109
- duplicate.stub(class: returned_object.class)
110
- returned_object.stub(dup: duplicate)
111
- data_source.should_receive(:retrieve)
109
+ allow(duplicate).to receive(:class) { returned_object.class }
110
+ allow(returned_object).to receive(:dup) { duplicate }
111
+ expect(data_source).to receive(:retrieve)
112
112
  .with('Object', criteria, options) { [returned_object] }
113
113
  .once
114
114
 
@@ -118,7 +118,7 @@ module Perpetuity
118
118
 
119
119
  it 'does not cache nil results' do
120
120
  criteria = data_source.query { |o| o.id == 1 }
121
- data_source.should_receive(:retrieve)
121
+ expect(data_source).to receive(:retrieve)
122
122
  .with('Object', criteria, options) { [] }
123
123
  .twice
124
124
 
@@ -132,8 +132,8 @@ module Perpetuity
132
132
  object = Object.new
133
133
  mapper.give_id_to object, 1
134
134
  object.instance_variable_set '@foo', 'bar'
135
- data_source.should_receive(:can_serialize?).with('bar') { true }
136
- data_source.should_receive(:update).with 'Object', 1, { 'foo' => 'bar' }
135
+ expect(data_source).to receive(:can_serialize?).with('bar') { true }
136
+ expect(data_source).to receive(:update).with 'Object', 1, { 'foo' => 'bar' }
137
137
 
138
138
  mapper.save object
139
139
  end
@@ -149,7 +149,7 @@ module Perpetuity
149
149
 
150
150
  object.instance_variable_set :@modified, true
151
151
 
152
- mapper.serialize_changed_attributes(object).should == {
152
+ expect(mapper.serialize_changed_attributes(object)).to be == {
153
153
  'modified' => true
154
154
  }
155
155
  end
@@ -157,12 +157,12 @@ module Perpetuity
157
157
  it 'deletes an object from the data source' do
158
158
  object = Object.new
159
159
 
160
- data_source.should_receive(:delete).with [object], 'Object'
160
+ expect(data_source).to receive(:delete).with [object], 'Object'
161
161
  mapper.delete object
162
162
  end
163
163
 
164
164
  it 'deletes all objects it manages' do
165
- data_source.should_receive(:delete_all).with('Object')
165
+ expect(data_source).to receive(:delete_all).with('Object')
166
166
  mapper.delete_all
167
167
  end
168
168
  end
@@ -174,21 +174,27 @@ module Perpetuity
174
174
  before { mapper.give_id_to object, 1 }
175
175
 
176
176
  it 'knows the object is persisted' do
177
- mapper.persisted?(object).should be_true
177
+ expect(mapper.persisted?(object)).to be_truthy
178
178
  end
179
179
 
180
180
  it 'knows the id of the object' do
181
- mapper.id_for(object).should be == 1
181
+ expect(mapper.id_for(object)).to be == 1
182
182
  end
183
183
  end
184
184
 
185
185
  context 'when not persisted' do
186
186
  it 'knows the object is not persisted' do
187
- mapper.persisted?(object).should be_false
187
+ expect(mapper.persisted?(object)).to be_falsey
188
188
  end
189
189
 
190
190
  it 'returns a nil id' do
191
- mapper.id_for(object).should be_nil
191
+ expect(mapper.id_for(object)).to be_nil
192
+ end
193
+
194
+ it 'knows an object is not persisted even when id is nil' do
195
+ mapper.give_id_to object, nil
196
+
197
+ expect(mapper.persisted?(object)).to be_falsey
192
198
  end
193
199
  end
194
200
  end
@@ -198,14 +204,14 @@ module Perpetuity
198
204
  it 'adds the attribute to the attribute set' do
199
205
  mapper_class.id(String) { 1.to_s }
200
206
  id_attr = mapper_class.attribute_set[:id]
201
- id_attr.type.should be String
207
+ expect(id_attr.type).to be String
202
208
  end
203
209
  end
204
210
 
205
211
  context 'when not setting the type' do
206
212
  it 'does not add the attribute' do
207
213
  mapper_class.id { 1.to_s }
208
- mapper_class.attribute_set[:id].should be_nil
214
+ expect(mapper_class.attribute_set[:id]).to be_nil
209
215
  end
210
216
  end
211
217
  end
@@ -215,19 +221,19 @@ module Perpetuity
215
221
  registry = Object.new
216
222
  id_map = Object.new
217
223
  mapper = Mapper.new(registry, id_map)
218
- mapper.identity_map.should be id_map
224
+ expect(mapper.identity_map).to be id_map
219
225
  end
220
226
  end
221
227
 
222
228
  describe 'specifying the collection/table name' do
223
229
  it 'changes the collection name' do
224
230
  mapper_class.collection_name = 'articles'
225
- mapper.collection_name.should == 'articles'
231
+ expect(mapper.collection_name).to be == 'articles'
226
232
  end
227
233
 
228
234
  it 'defaults to the mapped class name' do
229
235
  mapper_class.map Object
230
- mapper.collection_name.should == 'Object'
236
+ expect(mapper.collection_name).to be == 'Object'
231
237
  end
232
238
  end
233
239
  end