cequel 1.0.0.rc1 → 1.0.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/cequel.rb +18 -0
- data/lib/cequel/errors.rb +8 -4
- data/lib/cequel/metal.rb +14 -0
- data/lib/cequel/metal/batch.rb +21 -11
- data/lib/cequel/metal/batch_manager.rb +74 -0
- data/lib/cequel/metal/cql_row_specification.rb +19 -6
- data/lib/cequel/metal/data_set.rb +400 -163
- data/lib/cequel/metal/deleter.rb +45 -11
- data/lib/cequel/metal/incrementer.rb +23 -10
- data/lib/cequel/metal/inserter.rb +19 -6
- data/lib/cequel/metal/keyspace.rb +82 -159
- data/lib/cequel/metal/logger.rb +71 -0
- data/lib/cequel/metal/logging.rb +47 -0
- data/lib/cequel/metal/new_relic_instrumentation.rb +26 -0
- data/lib/cequel/metal/row.rb +36 -10
- data/lib/cequel/metal/row_specification.rb +21 -8
- data/lib/cequel/metal/statement.rb +30 -6
- data/lib/cequel/metal/updater.rb +89 -12
- data/lib/cequel/metal/writer.rb +23 -14
- data/lib/cequel/record.rb +52 -6
- data/lib/cequel/record/association_collection.rb +13 -6
- data/lib/cequel/record/associations.rb +146 -54
- data/lib/cequel/record/belongs_to_association.rb +34 -7
- data/lib/cequel/record/bound.rb +69 -12
- data/lib/cequel/record/bulk_writes.rb +29 -1
- data/lib/cequel/record/callbacks.rb +22 -6
- data/lib/cequel/record/collection.rb +273 -36
- data/lib/cequel/record/configuration_generator.rb +5 -0
- data/lib/cequel/record/data_set_builder.rb +86 -0
- data/lib/cequel/record/dirty.rb +11 -8
- data/lib/cequel/record/errors.rb +38 -4
- data/lib/cequel/record/has_many_association.rb +42 -9
- data/lib/cequel/record/lazy_record_collection.rb +39 -10
- data/lib/cequel/record/mass_assignment.rb +14 -6
- data/lib/cequel/record/persistence.rb +157 -20
- data/lib/cequel/record/properties.rb +147 -24
- data/lib/cequel/record/railtie.rb +15 -2
- data/lib/cequel/record/record_set.rb +504 -75
- data/lib/cequel/record/schema.rb +77 -13
- data/lib/cequel/record/scoped.rb +16 -11
- data/lib/cequel/record/secondary_indexes.rb +42 -6
- data/lib/cequel/record/tasks.rb +2 -1
- data/lib/cequel/record/validations.rb +51 -11
- data/lib/cequel/schema.rb +9 -0
- data/lib/cequel/schema/column.rb +172 -33
- data/lib/cequel/schema/create_table_dsl.rb +62 -31
- data/lib/cequel/schema/keyspace.rb +106 -7
- data/lib/cequel/schema/migration_validator.rb +128 -0
- data/lib/cequel/schema/table.rb +183 -20
- data/lib/cequel/schema/table_property.rb +92 -34
- data/lib/cequel/schema/table_reader.rb +45 -15
- data/lib/cequel/schema/table_synchronizer.rb +101 -43
- data/lib/cequel/schema/table_updater.rb +114 -19
- data/lib/cequel/schema/table_writer.rb +31 -13
- data/lib/cequel/schema/update_table_dsl.rb +71 -40
- data/lib/cequel/type.rb +214 -53
- data/lib/cequel/util.rb +6 -9
- data/lib/cequel/version.rb +2 -1
- data/spec/examples/record/associations_spec.rb +12 -12
- data/spec/examples/record/persistence_spec.rb +5 -5
- data/spec/examples/record/record_set_spec.rb +62 -50
- data/spec/examples/schema/table_synchronizer_spec.rb +37 -11
- data/spec/examples/schema/table_updater_spec.rb +3 -3
- data/spec/examples/spec_helper.rb +2 -11
- data/spec/examples/type_spec.rb +3 -3
- metadata +23 -4
- data/lib/cequel/new_relic_instrumentation.rb +0 -22
@@ -18,21 +18,12 @@ RSpec.configure do |config|
|
|
18
18
|
}
|
19
19
|
|
20
20
|
config.before(:all) do
|
21
|
-
|
22
|
-
Cequel::SpecSupport::Helpers.host,
|
23
|
-
:cql_version => '3.0.0'
|
24
|
-
)
|
25
|
-
keyspace = Cequel::SpecSupport::Helpers.keyspace_name
|
26
|
-
connection.execute <<-CQL
|
27
|
-
CREATE KEYSPACE #{keyspace}
|
28
|
-
WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1}
|
29
|
-
CQL
|
21
|
+
cequel.schema.create!
|
30
22
|
Cequel::Record.connection = cequel
|
31
23
|
end
|
32
24
|
|
33
25
|
config.after(:all) do
|
34
|
-
|
35
|
-
cequel.execute("DROP KEYSPACE #{keyspace}")
|
26
|
+
cequel.schema.drop!
|
36
27
|
end
|
37
28
|
end
|
38
29
|
|
data/spec/examples/type_spec.rb
CHANGED
@@ -118,9 +118,9 @@ describe Cequel::Type do
|
|
118
118
|
end
|
119
119
|
end
|
120
120
|
|
121
|
-
describe '
|
122
|
-
subject { Cequel::Type[:
|
123
|
-
its(:cql_name) { should == :
|
121
|
+
describe 'bigint' do
|
122
|
+
subject { Cequel::Type[:bigint] }
|
123
|
+
its(:cql_name) { should == :bigint }
|
124
124
|
its(:internal_name) {
|
125
125
|
should == 'org.apache.cassandra.db.marshal.LongType' }
|
126
126
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cequel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.rc2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mat Brown
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2014-02-01 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: activesupport
|
@@ -126,6 +126,20 @@ dependencies:
|
|
126
126
|
- - ~>
|
127
127
|
- !ruby/object:Gem::Version
|
128
128
|
version: '0.6'
|
129
|
+
- !ruby/object:Gem::Dependency
|
130
|
+
name: rubocop
|
131
|
+
requirement: !ruby/object:Gem::Requirement
|
132
|
+
requirements:
|
133
|
+
- - '>='
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '0'
|
136
|
+
type: :development
|
137
|
+
prerelease: false
|
138
|
+
version_requirements: !ruby/object:Gem::Requirement
|
139
|
+
requirements:
|
140
|
+
- - '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
129
143
|
description: |
|
130
144
|
Cequel is an ActiveRecord-like domain model layer for Cassandra that exposes
|
131
145
|
the robust data modeling capabilities of CQL3, including parent-child
|
@@ -138,19 +152,22 @@ extra_rdoc_files: []
|
|
138
152
|
files:
|
139
153
|
- lib/cequel/errors.rb
|
140
154
|
- lib/cequel/metal/batch.rb
|
155
|
+
- lib/cequel/metal/batch_manager.rb
|
141
156
|
- lib/cequel/metal/cql_row_specification.rb
|
142
157
|
- lib/cequel/metal/data_set.rb
|
143
158
|
- lib/cequel/metal/deleter.rb
|
144
159
|
- lib/cequel/metal/incrementer.rb
|
145
160
|
- lib/cequel/metal/inserter.rb
|
146
161
|
- lib/cequel/metal/keyspace.rb
|
162
|
+
- lib/cequel/metal/logger.rb
|
163
|
+
- lib/cequel/metal/logging.rb
|
164
|
+
- lib/cequel/metal/new_relic_instrumentation.rb
|
147
165
|
- lib/cequel/metal/row.rb
|
148
166
|
- lib/cequel/metal/row_specification.rb
|
149
167
|
- lib/cequel/metal/statement.rb
|
150
168
|
- lib/cequel/metal/updater.rb
|
151
169
|
- lib/cequel/metal/writer.rb
|
152
170
|
- lib/cequel/metal.rb
|
153
|
-
- lib/cequel/new_relic_instrumentation.rb
|
154
171
|
- lib/cequel/record/association_collection.rb
|
155
172
|
- lib/cequel/record/associations.rb
|
156
173
|
- lib/cequel/record/belongs_to_association.rb
|
@@ -159,6 +176,7 @@ files:
|
|
159
176
|
- lib/cequel/record/callbacks.rb
|
160
177
|
- lib/cequel/record/collection.rb
|
161
178
|
- lib/cequel/record/configuration_generator.rb
|
179
|
+
- lib/cequel/record/data_set_builder.rb
|
162
180
|
- lib/cequel/record/dirty.rb
|
163
181
|
- lib/cequel/record/errors.rb
|
164
182
|
- lib/cequel/record/has_many_association.rb
|
@@ -177,6 +195,7 @@ files:
|
|
177
195
|
- lib/cequel/schema/column.rb
|
178
196
|
- lib/cequel/schema/create_table_dsl.rb
|
179
197
|
- lib/cequel/schema/keyspace.rb
|
198
|
+
- lib/cequel/schema/migration_validator.rb
|
180
199
|
- lib/cequel/schema/table.rb
|
181
200
|
- lib/cequel/schema/table_property.rb
|
182
201
|
- lib/cequel/schema/table_reader.rb
|
@@ -236,7 +255,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
236
255
|
- !ruby/object:Gem::Version
|
237
256
|
version: 1.3.1
|
238
257
|
requirements:
|
239
|
-
- Cassandra 1.0
|
258
|
+
- Cassandra >= 1.2.0
|
240
259
|
rubyforge_project:
|
241
260
|
rubygems_version: 2.1.11
|
242
261
|
signing_key:
|
@@ -1,22 +0,0 @@
|
|
1
|
-
begin
|
2
|
-
require 'new_relic/agent/method_tracer'
|
3
|
-
rescue LoadError => e
|
4
|
-
raise LoadError, "Can't use NewRelic instrumentation without NewRelic gem"
|
5
|
-
end
|
6
|
-
|
7
|
-
module Cequel
|
8
|
-
|
9
|
-
module NewRelicInstrumentation
|
10
|
-
|
11
|
-
extend ActiveSupport::Concern
|
12
|
-
|
13
|
-
included do
|
14
|
-
include NewRelic::Agent::MethodTracer
|
15
|
-
add_method_tracer :execute, 'Database/Cassandra/#{args[0][/^[A-Z ]*[A-Z]/].sub(/ FROM$/, \'\')}'
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
21
|
-
|
22
|
-
Cequel::Keyspace.module_eval { include Cequel::NewRelicInstrumentation }
|