cequel 1.0.0.rc1 → 1.0.0.rc2
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 +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 }
|