cequel 0.5.6 → 1.0.0.pre.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 +7 -0
- data/lib/cequel.rb +5 -8
- data/lib/cequel/errors.rb +1 -0
- data/lib/cequel/metal.rb +17 -0
- data/lib/cequel/metal/batch.rb +62 -0
- data/lib/cequel/metal/cql_row_specification.rb +26 -0
- data/lib/cequel/metal/data_set.rb +461 -0
- data/lib/cequel/metal/deleter.rb +47 -0
- data/lib/cequel/metal/incrementer.rb +35 -0
- data/lib/cequel/metal/inserter.rb +53 -0
- data/lib/cequel/metal/keyspace.rb +213 -0
- data/lib/cequel/metal/row.rb +48 -0
- data/lib/cequel/metal/row_specification.rb +37 -0
- data/lib/cequel/metal/statement.rb +30 -0
- data/lib/cequel/metal/updater.rb +65 -0
- data/lib/cequel/metal/writer.rb +73 -0
- data/lib/cequel/model.rb +12 -84
- data/lib/cequel/model/association_collection.rb +23 -0
- data/lib/cequel/model/associations.rb +84 -80
- data/lib/cequel/model/base.rb +74 -0
- data/lib/cequel/model/belongs_to_association.rb +31 -0
- data/lib/cequel/model/callbacks.rb +14 -10
- data/lib/cequel/model/collection.rb +255 -0
- data/lib/cequel/model/errors.rb +6 -6
- data/lib/cequel/model/has_many_association.rb +26 -0
- data/lib/cequel/model/mass_assignment.rb +31 -0
- data/lib/cequel/model/persistence.rb +119 -115
- data/lib/cequel/model/properties.rb +89 -87
- data/lib/cequel/model/railtie.rb +21 -14
- data/lib/cequel/model/record_set.rb +285 -0
- data/lib/cequel/model/schema.rb +33 -0
- data/lib/cequel/model/scoped.rb +5 -48
- data/lib/cequel/model/validations.rb +18 -18
- data/lib/cequel/schema.rb +15 -0
- data/lib/cequel/schema/column.rb +135 -0
- data/lib/cequel/schema/create_table_dsl.rb +56 -0
- data/lib/cequel/schema/keyspace.rb +50 -0
- data/lib/cequel/schema/table.rb +120 -0
- data/lib/cequel/schema/table_property.rb +67 -0
- data/lib/cequel/schema/table_reader.rb +139 -0
- data/lib/cequel/schema/table_synchronizer.rb +114 -0
- data/lib/cequel/schema/table_updater.rb +83 -0
- data/lib/cequel/schema/table_writer.rb +80 -0
- data/lib/cequel/schema/update_table_dsl.rb +60 -0
- data/lib/cequel/type.rb +232 -0
- data/lib/cequel/version.rb +1 -1
- data/spec/environment.rb +5 -1
- data/spec/examples/metal/data_set_spec.rb +608 -0
- data/spec/examples/model/associations_spec.rb +84 -74
- data/spec/examples/model/callbacks_spec.rb +66 -59
- data/spec/examples/model/list_spec.rb +393 -0
- data/spec/examples/model/map_spec.rb +229 -0
- data/spec/examples/model/mass_assignment_spec.rb +55 -0
- data/spec/examples/model/naming_spec.rb +11 -4
- data/spec/examples/model/persistence_spec.rb +140 -150
- data/spec/examples/model/properties_spec.rb +122 -75
- data/spec/examples/model/record_set_spec.rb +285 -0
- data/spec/examples/model/schema_spec.rb +44 -0
- data/spec/examples/model/serialization_spec.rb +20 -14
- data/spec/examples/model/set_spec.rb +133 -0
- data/spec/examples/model/spec_helper.rb +0 -10
- data/spec/examples/model/validations_spec.rb +51 -38
- data/spec/examples/schema/table_reader_spec.rb +328 -0
- data/spec/examples/schema/table_synchronizer_spec.rb +172 -0
- data/spec/examples/schema/table_updater_spec.rb +157 -0
- data/spec/examples/schema/table_writer_spec.rb +225 -0
- data/spec/examples/spec_helper.rb +29 -0
- data/spec/examples/type_spec.rb +204 -0
- data/spec/support/helpers.rb +67 -8
- metadata +121 -152
- data/lib/cequel/batch.rb +0 -58
- data/lib/cequel/cql_row_specification.rb +0 -22
- data/lib/cequel/data_set.rb +0 -371
- data/lib/cequel/keyspace.rb +0 -205
- data/lib/cequel/model/class_internals.rb +0 -49
- data/lib/cequel/model/column.rb +0 -20
- data/lib/cequel/model/counter.rb +0 -35
- data/lib/cequel/model/dictionary.rb +0 -126
- data/lib/cequel/model/dirty.rb +0 -53
- data/lib/cequel/model/dynamic.rb +0 -31
- data/lib/cequel/model/inheritable.rb +0 -48
- data/lib/cequel/model/instance_internals.rb +0 -23
- data/lib/cequel/model/local_association.rb +0 -42
- data/lib/cequel/model/magic.rb +0 -79
- data/lib/cequel/model/mass_assignment_security.rb +0 -21
- data/lib/cequel/model/naming.rb +0 -17
- data/lib/cequel/model/observer.rb +0 -42
- data/lib/cequel/model/readable_dictionary.rb +0 -182
- data/lib/cequel/model/remote_association.rb +0 -40
- data/lib/cequel/model/scope.rb +0 -362
- data/lib/cequel/model/subclass_internals.rb +0 -45
- data/lib/cequel/model/timestamps.rb +0 -52
- data/lib/cequel/model/translation.rb +0 -17
- data/lib/cequel/row_specification.rb +0 -63
- data/lib/cequel/statement.rb +0 -23
- data/spec/examples/data_set_spec.rb +0 -444
- data/spec/examples/keyspace_spec.rb +0 -84
- data/spec/examples/model/counter_spec.rb +0 -94
- data/spec/examples/model/dictionary_spec.rb +0 -301
- data/spec/examples/model/dirty_spec.rb +0 -39
- data/spec/examples/model/dynamic_spec.rb +0 -41
- data/spec/examples/model/inheritable_spec.rb +0 -45
- data/spec/examples/model/magic_spec.rb +0 -199
- data/spec/examples/model/mass_assignment_security_spec.rb +0 -13
- data/spec/examples/model/observer_spec.rb +0 -86
- data/spec/examples/model/scope_spec.rb +0 -677
- data/spec/examples/model/timestamps_spec.rb +0 -52
- data/spec/examples/model/translation_spec.rb +0 -23
@@ -1,52 +0,0 @@
|
|
1
|
-
require File.expand_path('../spec_helper', __FILE__)
|
2
|
-
|
3
|
-
describe Cequel::Model::Timestamps do
|
4
|
-
let!(:now) { Time.now }
|
5
|
-
before { Time.stub(:now).and_return now }
|
6
|
-
|
7
|
-
it 'should add created_at column' do
|
8
|
-
Blog.column_names.should include(:created_at)
|
9
|
-
end
|
10
|
-
|
11
|
-
it 'should add updated_at column' do
|
12
|
-
Blog.column_names.should include(:updated_at)
|
13
|
-
end
|
14
|
-
|
15
|
-
it 'should populate created_at and updated_at column on create' do
|
16
|
-
connection.should_receive(:execute).
|
17
|
-
with "INSERT INTO blogs (?) VALUES (?)",
|
18
|
-
['id', 'published', 'updated_at', 'created_at'],
|
19
|
-
[1, true, now, now]
|
20
|
-
Blog.create!(:id => 1)
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'should populate updated_at column on update' do
|
24
|
-
connection.stub(:execute).
|
25
|
-
with("SELECT * FROM blogs WHERE ? = ? LIMIT 1", :id, 1).
|
26
|
-
and_return result_stub(
|
27
|
-
:id => 1,
|
28
|
-
:name => 'Blogtime',
|
29
|
-
:created_at => now - 1.day,
|
30
|
-
:updated_at => now - 1.day
|
31
|
-
)
|
32
|
-
blog = Blog.find(1)
|
33
|
-
blog.name = 'Bloggy'
|
34
|
-
connection.should_receive(:execute).
|
35
|
-
with("UPDATE blogs SET ? = ?, ? = ? WHERE ? = ?", 'name', 'Bloggy', 'updated_at', now, :id, 1)
|
36
|
-
blog.save
|
37
|
-
end
|
38
|
-
|
39
|
-
it 'should not update updated_at when calling save with no dirty attributes' do
|
40
|
-
connection.stub(:execute).
|
41
|
-
with("SELECT * FROM blogs WHERE ? = ? LIMIT 1", :id, 1).
|
42
|
-
and_return result_stub(
|
43
|
-
:id => 1,
|
44
|
-
:name => 'Blogtime',
|
45
|
-
:created_at => now - 1.day,
|
46
|
-
:updated_at => now - 1.day
|
47
|
-
)
|
48
|
-
blog = Blog.find(1)
|
49
|
-
blog.save
|
50
|
-
blog.updated_at.should == now - 1.day
|
51
|
-
end
|
52
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
require File.expand_path('../spec_helper', __FILE__)
|
2
|
-
|
3
|
-
describe Cequel::Model::Translation do
|
4
|
-
before do
|
5
|
-
I18n.backend.load_translations(
|
6
|
-
File.expand_path('../../../support/en.yml', __FILE__))
|
7
|
-
I18n.locale = 'en'
|
8
|
-
end
|
9
|
-
|
10
|
-
it 'should translate model names' do
|
11
|
-
Post.model_name.human.should == 'Blog post'
|
12
|
-
end
|
13
|
-
|
14
|
-
it 'should translate attribute names' do
|
15
|
-
Post.human_attribute_name(:title).should == 'Post title'
|
16
|
-
end
|
17
|
-
|
18
|
-
it 'should translate error messages' do
|
19
|
-
post = Post.new(:id => 1, :require_title => true)
|
20
|
-
post.valid?
|
21
|
-
post.errors.full_messages.should include("Post title is a required field")
|
22
|
-
end
|
23
|
-
end
|