cequel 1.4.2 → 1.4.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/Gemfile.lock +19 -12
  4. data/Rakefile +5 -1
  5. data/lib/cequel/record/data_set_builder.rb +9 -2
  6. data/lib/cequel/record/record_set.rb +16 -2
  7. data/lib/cequel/record/tasks.rb +6 -2
  8. data/lib/cequel/version.rb +1 -1
  9. data/spec/examples/metal/data_set_spec.rb +113 -106
  10. data/spec/examples/metal/keyspace_spec.rb +7 -15
  11. data/spec/examples/record/associations_spec.rb +30 -30
  12. data/spec/examples/record/callbacks_spec.rb +25 -25
  13. data/spec/examples/record/dirty_spec.rb +11 -10
  14. data/spec/examples/record/list_spec.rb +33 -33
  15. data/spec/examples/record/map_spec.rb +57 -41
  16. data/spec/examples/record/mass_assignment_spec.rb +5 -5
  17. data/spec/examples/record/naming_spec.rb +2 -2
  18. data/spec/examples/record/persistence_spec.rb +23 -23
  19. data/spec/examples/record/properties_spec.rb +19 -19
  20. data/spec/examples/record/record_set_spec.rb +155 -151
  21. data/spec/examples/record/schema_spec.rb +7 -7
  22. data/spec/examples/record/scoped_spec.rb +2 -2
  23. data/spec/examples/record/serialization_spec.rb +2 -2
  24. data/spec/examples/record/set_spec.rb +27 -23
  25. data/spec/examples/record/validations_spec.rb +13 -13
  26. data/spec/examples/schema/table_reader_spec.rb +85 -79
  27. data/spec/examples/schema/table_synchronizer_spec.rb +9 -9
  28. data/spec/examples/schema/table_updater_spec.rb +17 -17
  29. data/spec/examples/schema/table_writer_spec.rb +33 -33
  30. data/spec/examples/type_spec.rb +55 -55
  31. data/spec/support/helpers.rb +18 -10
  32. metadata +18 -5
  33. data/spec/shared/readable_dictionary.rb +0 -192
@@ -21,7 +21,7 @@ describe Cequel::Schema::TableSynchronizer do
21
21
  after { cequel.schema.drop_table(:posts) }
22
22
 
23
23
  it 'should create table' do
24
- table.column(:title).type.should == Cequel::Type[:text] #etc.
24
+ expect(table.column(:title).type).to eq(Cequel::Type[:text]) #etc.
25
25
  end
26
26
  end
27
27
 
@@ -58,35 +58,35 @@ describe Cequel::Schema::TableSynchronizer do
58
58
  end
59
59
 
60
60
  it 'should rename keys' do
61
- table.clustering_columns.first.name.should == :post_permalink
61
+ expect(table.clustering_columns.first.name).to eq(:post_permalink)
62
62
  end
63
63
 
64
64
  it 'should add new columns' do
65
- table.column(:published_at).type.should == Cequel::Type[:timestamp]
65
+ expect(table.column(:published_at).type).to eq(Cequel::Type[:timestamp])
66
66
  end
67
67
 
68
68
  it 'should add new collections' do
69
- table.column(:categories).should be_a(Cequel::Schema::List)
69
+ expect(table.column(:categories)).to be_a(Cequel::Schema::List)
70
70
  end
71
71
 
72
72
  it 'should add new column with index' do
73
- table.column(:primary_author_id).should be_indexed
73
+ expect(table.column(:primary_author_id)).to be_indexed
74
74
  end
75
75
 
76
76
  it 'should add index to existing columns' do
77
- table.column(:created_at).should be_indexed
77
+ expect(table.column(:created_at)).to be_indexed
78
78
  end
79
79
 
80
80
  it 'should drop index from existing columns' do
81
- table.column(:title).should_not be_indexed
81
+ expect(table.column(:title)).not_to be_indexed
82
82
  end
83
83
 
84
84
  it 'should change column type' do
85
- table.column(:body).type.should == Cequel::Type[:text]
85
+ expect(table.column(:body).type).to eq(Cequel::Type[:text])
86
86
  end
87
87
 
88
88
  it 'should change properties' do
89
- table.property(:comment).should == 'Test Table 2.0'
89
+ expect(table.property(:comment)).to eq('Test Table 2.0')
90
90
  end
91
91
 
92
92
  end
@@ -23,7 +23,7 @@ describe Cequel::Schema::TableUpdater do
23
23
  end
24
24
 
25
25
  it 'should add the column with the given type' do
26
- table.data_column(:published_at).type.should == Cequel::Type[:timestamp]
26
+ expect(table.data_column(:published_at).type).to eq(Cequel::Type[:timestamp])
27
27
  end
28
28
  end
29
29
 
@@ -35,11 +35,11 @@ describe Cequel::Schema::TableUpdater do
35
35
  end
36
36
 
37
37
  it 'should add the list' do
38
- table.data_column(:author_names).should be_a(Cequel::Schema::List)
38
+ expect(table.data_column(:author_names)).to be_a(Cequel::Schema::List)
39
39
  end
40
40
 
41
41
  it 'should set the given type' do
42
- table.data_column(:author_names).type.should == Cequel::Type[:text]
42
+ expect(table.data_column(:author_names).type).to eq(Cequel::Type[:text])
43
43
  end
44
44
  end
45
45
 
@@ -51,11 +51,11 @@ describe Cequel::Schema::TableUpdater do
51
51
  end
52
52
 
53
53
  it 'should add the list' do
54
- table.data_column(:author_names).should be_a(Cequel::Schema::Set)
54
+ expect(table.data_column(:author_names)).to be_a(Cequel::Schema::Set)
55
55
  end
56
56
 
57
57
  it 'should set the given type' do
58
- table.data_column(:author_names).type.should == Cequel::Type[:text]
58
+ expect(table.data_column(:author_names).type).to eq(Cequel::Type[:text])
59
59
  end
60
60
  end
61
61
 
@@ -67,17 +67,17 @@ describe Cequel::Schema::TableUpdater do
67
67
  end
68
68
 
69
69
  it 'should add the list' do
70
- table.data_column(:trackbacks).should be_a(Cequel::Schema::Map)
70
+ expect(table.data_column(:trackbacks)).to be_a(Cequel::Schema::Map)
71
71
  end
72
72
 
73
73
  it 'should set the key type' do
74
- table.data_column(:trackbacks).key_type.
75
- should == Cequel::Type[:timestamp]
74
+ expect(table.data_column(:trackbacks).key_type).
75
+ to eq(Cequel::Type[:timestamp])
76
76
  end
77
77
 
78
78
  it 'should set the value type' do
79
- table.data_column(:trackbacks).value_type.
80
- should == Cequel::Type[:ascii]
79
+ expect(table.data_column(:trackbacks).value_type).
80
+ to eq(Cequel::Type[:ascii])
81
81
  end
82
82
  end
83
83
 
@@ -89,7 +89,7 @@ describe Cequel::Schema::TableUpdater do
89
89
  end
90
90
 
91
91
  it 'should change the type' do
92
- table.data_column(:title).type.should == Cequel::Type[:text]
92
+ expect(table.data_column(:title).type).to eq(Cequel::Type[:text])
93
93
  end
94
94
  end
95
95
 
@@ -101,8 +101,8 @@ describe Cequel::Schema::TableUpdater do
101
101
  end
102
102
 
103
103
  it 'should change the name' do
104
- table.clustering_column(:slug).should be
105
- table.clustering_column(:permalink).should be_nil
104
+ expect(table.clustering_column(:slug)).to be
105
+ expect(table.clustering_column(:permalink)).to be_nil
106
106
  end
107
107
  end
108
108
 
@@ -114,7 +114,7 @@ describe Cequel::Schema::TableUpdater do
114
114
  end
115
115
 
116
116
  it 'should change properties' do
117
- table.properties[:comment].value.should == 'Test Comment'
117
+ expect(table.properties[:comment].value).to eq('Test Comment')
118
118
  end
119
119
  end
120
120
 
@@ -126,7 +126,7 @@ describe Cequel::Schema::TableUpdater do
126
126
  end
127
127
 
128
128
  it 'should add the index' do
129
- table.data_column(:title).should be_indexed
129
+ expect(table.data_column(:title)).to be_indexed
130
130
  end
131
131
  end
132
132
 
@@ -139,7 +139,7 @@ describe Cequel::Schema::TableUpdater do
139
139
  end
140
140
 
141
141
  it 'should drop the index' do
142
- table.data_column(:title).should_not be_indexed
142
+ expect(table.data_column(:title)).not_to be_indexed
143
143
  end
144
144
  end
145
145
 
@@ -152,7 +152,7 @@ describe Cequel::Schema::TableUpdater do
152
152
  end
153
153
 
154
154
  it 'should remove the column' do
155
- table.data_column(:body).should be_nil
155
+ expect(table.data_column(:body)).to be_nil
156
156
  end
157
157
  end
158
158
  end
@@ -20,16 +20,16 @@ describe Cequel::Schema::TableWriter do
20
20
  end
21
21
 
22
22
  it 'should create key alias' do
23
- table.partition_key_columns.map(&:name).should == [:permalink]
23
+ expect(table.partition_key_columns.map(&:name)).to eq([:permalink])
24
24
  end
25
25
 
26
26
  it 'should set key validator' do
27
- table.partition_key_columns.map(&:type).should == [Cequel::Type[:ascii]]
27
+ expect(table.partition_key_columns.map(&:type)).to eq([Cequel::Type[:ascii]])
28
28
  end
29
29
 
30
30
  it 'should set non-key columns' do
31
- table.columns.find { |column| column.name == :title }.type.
32
- should == Cequel::Type[:text]
31
+ expect(table.columns.find { |column| column.name == :title }.type).
32
+ to eq(Cequel::Type[:text])
33
33
  end
34
34
  end
35
35
 
@@ -43,19 +43,19 @@ describe Cequel::Schema::TableWriter do
43
43
  end
44
44
 
45
45
  it 'should create key alias' do
46
- table.partition_key_columns.map(&:name).should == [:blog_subdomain]
46
+ expect(table.partition_key_columns.map(&:name)).to eq([:blog_subdomain])
47
47
  end
48
48
 
49
49
  it 'should set key validator' do
50
- table.partition_key_columns.map(&:type).should == [Cequel::Type[:ascii]]
50
+ expect(table.partition_key_columns.map(&:type)).to eq([Cequel::Type[:ascii]])
51
51
  end
52
52
 
53
53
  it 'should create non-partition key components' do
54
- table.clustering_columns.map(&:name).should == [:permalink]
54
+ expect(table.clustering_columns.map(&:name)).to eq([:permalink])
55
55
  end
56
56
 
57
57
  it 'should set type for non-partition key components' do
58
- table.clustering_columns.map(&:type).should == [Cequel::Type[:ascii]]
58
+ expect(table.clustering_columns.map(&:type)).to eq([Cequel::Type[:ascii]])
59
59
  end
60
60
  end
61
61
 
@@ -69,12 +69,12 @@ describe Cequel::Schema::TableWriter do
69
69
  end
70
70
 
71
71
  it 'should create all partition key components' do
72
- table.partition_key_columns.map(&:name).should == [:blog_subdomain, :permalink]
72
+ expect(table.partition_key_columns.map(&:name)).to eq([:blog_subdomain, :permalink])
73
73
  end
74
74
 
75
75
  it 'should set key validators' do
76
- table.partition_key_columns.map(&:type).
77
- should == [Cequel::Type[:ascii], Cequel::Type[:ascii]]
76
+ expect(table.partition_key_columns.map(&:type)).
77
+ to eq([Cequel::Type[:ascii], Cequel::Type[:ascii]])
78
78
  end
79
79
  end
80
80
 
@@ -89,21 +89,21 @@ describe Cequel::Schema::TableWriter do
89
89
  end
90
90
 
91
91
  it 'should create all partition key components' do
92
- table.partition_key_columns.map(&:name).
93
- should == [:blog_subdomain, :permalink]
92
+ expect(table.partition_key_columns.map(&:name)).
93
+ to eq([:blog_subdomain, :permalink])
94
94
  end
95
95
 
96
96
  it 'should set key validators' do
97
- table.partition_key_columns.map(&:type).
98
- should == [Cequel::Type[:ascii], Cequel::Type[:ascii]]
97
+ expect(table.partition_key_columns.map(&:type)).
98
+ to eq([Cequel::Type[:ascii], Cequel::Type[:ascii]])
99
99
  end
100
100
 
101
101
  it 'should create non-partition key components' do
102
- table.clustering_columns.map(&:name).should == [:month]
102
+ expect(table.clustering_columns.map(&:name)).to eq([:month])
103
103
  end
104
104
 
105
105
  it 'should set type for non-partition key components' do
106
- table.clustering_columns.map(&:type).should == [Cequel::Type[:timestamp]]
106
+ expect(table.clustering_columns.map(&:type)).to eq([Cequel::Type[:timestamp]])
107
107
  end
108
108
  end
109
109
 
@@ -119,33 +119,33 @@ describe Cequel::Schema::TableWriter do
119
119
  end
120
120
 
121
121
  it 'should create list' do
122
- table.data_column(:authors).should be_a(Cequel::Schema::List)
122
+ expect(table.data_column(:authors)).to be_a(Cequel::Schema::List)
123
123
  end
124
124
 
125
125
  it 'should set correct type for list' do
126
- table.data_column(:authors).type.should == Cequel::Type[:blob]
126
+ expect(table.data_column(:authors).type).to eq(Cequel::Type[:blob])
127
127
  end
128
128
 
129
129
  it 'should create set' do
130
- table.data_column(:tags).should be_a(Cequel::Schema::Set)
130
+ expect(table.data_column(:tags)).to be_a(Cequel::Schema::Set)
131
131
  end
132
132
 
133
133
  it 'should set correct type for set' do
134
- table.data_column(:tags).type.should == Cequel::Type[:text]
134
+ expect(table.data_column(:tags).type).to eq(Cequel::Type[:text])
135
135
  end
136
136
 
137
137
  it 'should create map' do
138
- table.data_column(:trackbacks).should be_a(Cequel::Schema::Map)
138
+ expect(table.data_column(:trackbacks)).to be_a(Cequel::Schema::Map)
139
139
  end
140
140
 
141
141
  it 'should set correct key type' do
142
- table.data_column(:trackbacks).key_type.
143
- should == Cequel::Type[:timestamp]
142
+ expect(table.data_column(:trackbacks).key_type).
143
+ to eq(Cequel::Type[:timestamp])
144
144
  end
145
145
 
146
146
  it 'should set correct value type' do
147
- table.data_column(:trackbacks).value_type.
148
- should == Cequel::Type[:ascii]
147
+ expect(table.data_column(:trackbacks).value_type).
148
+ to eq(Cequel::Type[:ascii])
149
149
  end
150
150
  end
151
151
 
@@ -162,14 +162,14 @@ describe Cequel::Schema::TableWriter do
162
162
  end
163
163
 
164
164
  it 'should set simple properties' do
165
- table.property(:comment).should == 'Blog posts'
165
+ expect(table.property(:comment)).to eq('Blog posts')
166
166
  end
167
167
 
168
168
  it 'should set map collection properties' do
169
- table.property(:compression).should == {
169
+ expect(table.property(:compression)).to eq({
170
170
  :sstable_compression => 'DeflateCompressor',
171
171
  :chunk_length_kb => 64
172
- }
172
+ })
173
173
  end
174
174
  end
175
175
 
@@ -183,7 +183,7 @@ describe Cequel::Schema::TableWriter do
183
183
  end
184
184
 
185
185
  it 'should have compact storage' do
186
- table.should be_compact_storage
186
+ expect(table).to be_compact_storage
187
187
  end
188
188
  end
189
189
 
@@ -197,7 +197,7 @@ describe Cequel::Schema::TableWriter do
197
197
  end
198
198
 
199
199
  it 'should set clustering order' do
200
- table.clustering_columns.map(&:clustering_order).should == [:desc]
200
+ expect(table.clustering_columns.map(&:clustering_order)).to eq([:desc])
201
201
  end
202
202
  end
203
203
 
@@ -208,7 +208,7 @@ describe Cequel::Schema::TableWriter do
208
208
  key :id, :uuid, :desc
209
209
  column :title, :text, :index => true
210
210
  end
211
- table.data_column(:title).should be_indexed
211
+ expect(table.data_column(:title)).to be_indexed
212
212
  end
213
213
 
214
214
  it 'should create indices with specified name' do
@@ -217,7 +217,7 @@ describe Cequel::Schema::TableWriter do
217
217
  key :id, :uuid, :desc
218
218
  column :title, :text, :index => :silly_idx
219
219
  end
220
- table.data_column(:title).index_name.should == :silly_idx
220
+ expect(table.data_column(:title).index_name).to eq(:silly_idx)
221
221
  end
222
222
  end
223
223
 
@@ -10,8 +10,8 @@ describe Cequel::Type do
10
10
  should == 'org.apache.cassandra.db.marshal.AsciiType' }
11
11
 
12
12
  describe '#cast' do
13
- specify { subject.cast('hey'.encode('UTF-8')).encoding.name.
14
- should == 'US-ASCII' }
13
+ specify { expect(subject.cast('hey'.encode('UTF-8')).encoding.name).
14
+ to eq('US-ASCII') }
15
15
  end
16
16
  end
17
17
 
@@ -22,9 +22,9 @@ describe Cequel::Type do
22
22
  should == 'org.apache.cassandra.db.marshal.BytesType' }
23
23
 
24
24
  describe '#cast' do
25
- specify { subject.cast(123).should == 123.to_s(16) }
26
- specify { subject.cast(123).encoding.name.should == 'ASCII-8BIT' }
27
- specify { subject.cast('2345').encoding.name.should == 'ASCII-8BIT' }
25
+ specify { expect(subject.cast(123)).to eq(123.to_s(16)) }
26
+ specify { expect(subject.cast(123).encoding.name).to eq('ASCII-8BIT') }
27
+ specify { expect(subject.cast('2345').encoding.name).to eq('ASCII-8BIT') }
28
28
  end
29
29
  end
30
30
 
@@ -35,9 +35,9 @@ describe Cequel::Type do
35
35
  should == 'org.apache.cassandra.db.marshal.BooleanType' }
36
36
 
37
37
  describe '#cast' do
38
- specify { subject.cast(true).should == true }
39
- specify { subject.cast(false).should == false }
40
- specify { subject.cast(1).should == true }
38
+ specify { expect(subject.cast(true)).to eq(true) }
39
+ specify { expect(subject.cast(false)).to eq(false) }
40
+ specify { expect(subject.cast(1)).to eq(true) }
41
41
  end
42
42
  end
43
43
 
@@ -48,8 +48,8 @@ describe Cequel::Type do
48
48
  should == 'org.apache.cassandra.db.marshal.CounterColumnType' }
49
49
 
50
50
  describe '#cast' do
51
- specify { subject.cast(1).should == 1 }
52
- specify { subject.cast('1').should == 1 }
51
+ specify { expect(subject.cast(1)).to eq(1) }
52
+ specify { expect(subject.cast('1')).to eq(1) }
53
53
  end
54
54
  end
55
55
 
@@ -60,10 +60,10 @@ describe Cequel::Type do
60
60
  should == 'org.apache.cassandra.db.marshal.DecimalType' }
61
61
 
62
62
  describe '#cast' do
63
- specify { subject.cast(1).should eql(BigDecimal.new('1.0')) }
64
- specify { subject.cast(1.0).should eql(BigDecimal.new('1.0')) }
65
- specify { subject.cast(1.0.to_r).should eql(BigDecimal.new('1.0')) }
66
- specify { subject.cast('1').should eql(BigDecimal.new('1.0')) }
63
+ specify { expect(subject.cast(1)).to eql(BigDecimal.new('1.0')) }
64
+ specify { expect(subject.cast(1.0)).to eql(BigDecimal.new('1.0')) }
65
+ specify { expect(subject.cast(1.0.to_r)).to eql(BigDecimal.new('1.0')) }
66
+ specify { expect(subject.cast('1')).to eql(BigDecimal.new('1.0')) }
67
67
  end
68
68
  end
69
69
 
@@ -74,11 +74,11 @@ describe Cequel::Type do
74
74
  should == 'org.apache.cassandra.db.marshal.DoubleType' }
75
75
 
76
76
  describe '#cast' do
77
- specify { subject.cast(1.0).should eql(1.0) }
78
- specify { subject.cast(1).should eql(1.0) }
79
- specify { subject.cast(1.0.to_r).should eql(1.0) }
80
- specify { subject.cast('1.0').should eql(1.0) }
81
- specify { subject.cast(BigDecimal.new('1.0')).should eql(1.0) }
77
+ specify { expect(subject.cast(1.0)).to eql(1.0) }
78
+ specify { expect(subject.cast(1)).to eql(1.0) }
79
+ specify { expect(subject.cast(1.0.to_r)).to eql(1.0) }
80
+ specify { expect(subject.cast('1.0')).to eql(1.0) }
81
+ specify { expect(subject.cast(BigDecimal.new('1.0'))).to eql(1.0) }
82
82
  end
83
83
  end
84
84
 
@@ -89,11 +89,11 @@ describe Cequel::Type do
89
89
  should == 'org.apache.cassandra.db.marshal.FloatType' }
90
90
 
91
91
  describe '#cast' do
92
- specify { subject.cast(1.0).should eql(1.0) }
93
- specify { subject.cast(1).should eql(1.0) }
94
- specify { subject.cast(1.0.to_r).should eql(1.0) }
95
- specify { subject.cast('1.0').should eql(1.0) }
96
- specify { subject.cast(BigDecimal.new('1.0')).should eql(1.0) }
92
+ specify { expect(subject.cast(1.0)).to eql(1.0) }
93
+ specify { expect(subject.cast(1)).to eql(1.0) }
94
+ specify { expect(subject.cast(1.0.to_r)).to eql(1.0) }
95
+ specify { expect(subject.cast('1.0')).to eql(1.0) }
96
+ specify { expect(subject.cast(BigDecimal.new('1.0'))).to eql(1.0) }
97
97
  end
98
98
  end
99
99
 
@@ -111,11 +111,11 @@ describe Cequel::Type do
111
111
  should == 'org.apache.cassandra.db.marshal.Int32Type' }
112
112
 
113
113
  describe '#cast' do
114
- specify { subject.cast(1).should eql(1) }
115
- specify { subject.cast('1').should eql(1) }
116
- specify { subject.cast(1.0).should eql(1) }
117
- specify { subject.cast(1.0.to_r).should eql(1) }
118
- specify { subject.cast(BigDecimal.new('1.0')).should eql(1) }
114
+ specify { expect(subject.cast(1)).to eql(1) }
115
+ specify { expect(subject.cast('1')).to eql(1) }
116
+ specify { expect(subject.cast(1.0)).to eql(1) }
117
+ specify { expect(subject.cast(1.0.to_r)).to eql(1) }
118
+ specify { expect(subject.cast(BigDecimal.new('1.0'))).to eql(1) }
119
119
  end
120
120
  end
121
121
 
@@ -126,11 +126,11 @@ describe Cequel::Type do
126
126
  should == 'org.apache.cassandra.db.marshal.LongType' }
127
127
 
128
128
  describe '#cast' do
129
- specify { subject.cast(1).should eql(1) }
130
- specify { subject.cast('1').should eql(1) }
131
- specify { subject.cast(1.0).should eql(1) }
132
- specify { subject.cast(1.0.to_r).should eql(1) }
133
- specify { subject.cast(BigDecimal.new('1.0')).should eql(1) }
129
+ specify { expect(subject.cast(1)).to eql(1) }
130
+ specify { expect(subject.cast('1')).to eql(1) }
131
+ specify { expect(subject.cast(1.0)).to eql(1) }
132
+ specify { expect(subject.cast(1.0.to_r)).to eql(1) }
133
+ specify { expect(subject.cast(BigDecimal.new('1.0'))).to eql(1) }
134
134
  end
135
135
  end
136
136
 
@@ -138,14 +138,14 @@ describe Cequel::Type do
138
138
  subject { Cequel::Type[:text] }
139
139
  its(:cql_name) { should == :text }
140
140
  its(:internal_name) { should == 'org.apache.cassandra.db.marshal.UTF8Type' }
141
- it { should == Cequel::Type[:varchar] }
141
+ it { is_expected.to eq(Cequel::Type[:varchar]) }
142
142
 
143
143
  describe '#cast' do
144
- specify { subject.cast('cql').should == 'cql' }
145
- specify { subject.cast(1).should == '1' }
146
- specify { subject.cast('cql').encoding.name.should == 'UTF-8' }
147
- specify { subject.cast('cql'.force_encoding('US-ASCII')).
148
- encoding.name.should == 'UTF-8' }
144
+ specify { expect(subject.cast('cql')).to eq('cql') }
145
+ specify { expect(subject.cast(1)).to eq('1') }
146
+ specify { expect(subject.cast('cql').encoding.name).to eq('UTF-8') }
147
+ specify { expect(subject.cast('cql'.force_encoding('US-ASCII')).
148
+ encoding.name).to eq('UTF-8') }
149
149
  end
150
150
  end
151
151
 
@@ -156,11 +156,11 @@ describe Cequel::Type do
156
156
 
157
157
  describe '#cast' do
158
158
  let(:now) { Time.at(Time.now.to_i) }
159
- specify { subject.cast(now).should == now }
160
- specify { subject.cast(now.to_i).should == now }
161
- specify { subject.cast(now.to_s).should == now }
162
- specify { subject.cast(now.to_datetime).should == now }
163
- specify { subject.cast(now.to_date).should == now.to_date.to_time }
159
+ specify { expect(subject.cast(now)).to eq(now) }
160
+ specify { expect(subject.cast(now.to_i)).to eq(now) }
161
+ specify { expect(subject.cast(now.to_s)).to eq(now) }
162
+ specify { expect(subject.cast(now.to_datetime)).to eq(now) }
163
+ specify { expect(subject.cast(now.to_date)).to eq(now.to_date.to_time) }
164
164
  end
165
165
  end
166
166
 
@@ -179,12 +179,12 @@ describe Cequel::Type do
179
179
 
180
180
  describe '#cast' do
181
181
  let(:uuid) { Cequel.uuid }
182
- specify { subject.cast(uuid).should == uuid }
183
- specify { subject.cast(uuid.to_s).should == uuid }
184
- specify { subject.cast(uuid.value).should == uuid }
182
+ specify { expect(subject.cast(uuid)).to eq(uuid) }
183
+ specify { expect(subject.cast(uuid.to_s)).to eq(uuid) }
184
+ specify { expect(subject.cast(uuid.value)).to eq(uuid) }
185
185
  if defined? SimpleUUID::UUID
186
- specify { subject.cast(SimpleUUID::UUID.new(uuid.value))
187
- .should == uuid }
186
+ specify { expect(subject.cast(SimpleUUID::UUID.new(uuid.value)))
187
+ .to eq(uuid) }
188
188
  end
189
189
  end
190
190
  end
@@ -196,11 +196,11 @@ describe Cequel::Type do
196
196
  should == 'org.apache.cassandra.db.marshal.IntegerType' }
197
197
 
198
198
  describe '#cast' do
199
- specify { subject.cast(1).should eql(1) }
200
- specify { subject.cast('1').should eql(1) }
201
- specify { subject.cast(1.0).should eql(1) }
202
- specify { subject.cast(1.0.to_r).should eql(1) }
203
- specify { subject.cast(BigDecimal.new('1.0')).should eql(1) }
199
+ specify { expect(subject.cast(1)).to eql(1) }
200
+ specify { expect(subject.cast('1')).to eql(1) }
201
+ specify { expect(subject.cast(1.0)).to eql(1) }
202
+ specify { expect(subject.cast(1.0.to_r)).to eql(1) }
203
+ specify { expect(subject.cast(BigDecimal.new('1.0'))).to eql(1) }
204
204
  end
205
205
  end
206
206