cequel 1.0.0.rc4 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0b57daed4a8a5b3338b5df47a177a300a5414646
4
- data.tar.gz: a953e8d1a1580620467f0eb1b1d7e4dd11a52c14
3
+ metadata.gz: df5fb851e4ce9dda4900d848faf903c32d63d069
4
+ data.tar.gz: 38d3ea0bda230427ddb452269976612fc2519026
5
5
  SHA512:
6
- metadata.gz: 24304e87b241a9cf0eb79b5e40109d608436383fb906fa33194186a15bcd75389ba3c7211cdab3e7efb45910e6f8c17a08c1c9c8eab6ae9887d15f5778d3a815
7
- data.tar.gz: d197147bb83a631e38726e89db9713c6ebfd396b513807877d209d0f4014fe5015e47ae05dd44e1d94959756f3169a762bafd0db2c689783000f95d3e8d25425
6
+ metadata.gz: b43b31556885f28cefc1c0285214448de5dcca189d3fbe414702bd887c4e7e20924affa0a5cc94cdfaa06acbd77c6418626b8ab136c974234d6bf8227f8ef8f4
7
+ data.tar.gz: e8790f4c65c31b17ec3dc2bd2b838403cbd456e6a95e425a9adc11a8a2a9ec504727d6e842b377c6a8c9002c05a28b875be65736c6407c5e3c32d8303e1aa35c
@@ -16,7 +16,8 @@ module Cequel
16
16
  # @option options [Integer] :auto_apply If specified, flush the batch
17
17
  # after this many statements have been added.
18
18
  # @option options [Boolean] :unlogged (false) Whether to use an [unlogged
19
- # batch](http://www.datastax.com/documentation/cql/3.0/webhelp/cql/cql_reference/batch_r.html).
19
+ # batch](
20
+ # http://www.datastax.com/dev/blog/atomic-batches-in-cassandra-1-2).
20
21
  # Logged batches guarantee atomicity (but not isolation) at the
21
22
  # cost of a performance penalty; unlogged batches are useful for bulk
22
23
  # write operations but behave the same as discrete writes.
@@ -15,7 +15,8 @@ module Cequel
15
15
  # @example Data set targeting only one partition
16
16
  # data_set = database[:posts].where(blog_subdomain: 'cassandra')
17
17
  #
18
- # @see http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_reference/select_r.html CQL documentation for SELECT
18
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#selectStmt
19
+ # CQL documentation for SELECT
19
20
  #
20
21
  class DataSet
21
22
  include Enumerable
@@ -73,7 +74,8 @@ module Cequel
73
74
  # the insert will overwrite the existing row.
74
75
  # @note If a enclosed in a Keyspace#batch block, this method will be
75
76
  # executed as part of the batch.
76
- # @see http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_reference/insert_r.html CQL documentation for INSERT
77
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#insertStmt
78
+ # CQL documentation for INSERT
77
79
  #
78
80
  def insert(data, options = {})
79
81
  inserter(options) { insert(data) }.execute
@@ -117,7 +119,8 @@ module Cequel
117
119
  # specified by primary key using `where`
118
120
  # @note If a enclosed in a Keyspace#batch block, this method will be
119
121
  # executed as part of the batch.
120
- # @see http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_reference/update_r.html CQL documentation for UPDATE
122
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#updateStmt
123
+ # CQL documentation for UPDATE
121
124
  #
122
125
  def update(*args, &block)
123
126
  if block
@@ -143,7 +146,8 @@ module Cequel
143
146
  # @note This can only be used on counter tables
144
147
  # @since 0.5.0
145
148
  # @see #decrement
146
- # @see http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_reference/../cql_using/use_counter_t.html CQL documentation for counter columns
149
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#counters
150
+ # CQL documentation for counter columns
147
151
  #
148
152
  def increment(deltas, options = {})
149
153
  incrementer(options) { increment(deltas) }.execute
@@ -158,7 +162,8 @@ module Cequel
158
162
  # @return [void]
159
163
  #
160
164
  # @see #increment
161
- # @see http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_reference/../cql_using/use_counter_t.html CQL documentation for counter columns
165
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#counters
166
+ # CQL documentation for counter columns
162
167
  # @since 0.5.0
163
168
  #
164
169
  def decrement(deltas, options = {})
@@ -410,7 +415,8 @@ module Cequel
410
415
  #
411
416
  # @note If enclosed in a Keyspace#batch block, this method will be
412
417
  # executed as part of the batch.
413
- # @see http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_reference/delete_r.html CQL documentation for DELETE
418
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#deleteStmt
419
+ # CQL documentation for DELETE
414
420
  #
415
421
  def delete(*columns, &block)
416
422
  options = columns.extract_options!
@@ -9,7 +9,7 @@ module Cequel
9
9
  # @note This class should not be instantiated directly
10
10
  # @see DataSet#delete
11
11
  # @see
12
- # http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_reference/delete_r.html
12
+ # http://cassandra.apache.org/doc/cql3/CQL.html#deleteStmt
13
13
  # CQL documentation for DELETE
14
14
  # @since 1.0.0
15
15
  #
@@ -7,7 +7,7 @@ module Cequel
7
7
  # @see DataSet#update
8
8
  # @see Deleter
9
9
  # @see
10
- # http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_reference/update_r.html
10
+ # http://cassandra.apache.org/doc/cql3/CQL.html#updateStmt
11
11
  # CQL UPDATE documentation
12
12
  # @since 1.0.0
13
13
  #
@@ -152,7 +152,8 @@ module Cequel
152
152
  # The value of a list column in a {Record} instance. List collections
153
153
  # encapsulate and behave like the built-in `Array` type.
154
154
  #
155
- # @see http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_using/use_collections_c.html#task_ds_lqp_krj_zj CQL documentation for the list type
155
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#list
156
+ # CQL documentation for the list type
156
157
  # @since 1.0.0
157
158
  #
158
159
  class List < DelegateClass(Array)
@@ -343,7 +344,8 @@ module Cequel
343
344
  # unique set of elements. Encapsulates and behaves like the `Set` type from
344
345
  # the standard library.
345
346
  #
346
- # @see http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_using/use_collections_c.html#task_ds_agt_3kj_zj CQL documentation for set columns
347
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#set
348
+ # CQL documentation for set columns
347
349
  # @since 1.0.0
348
350
  #
349
351
  class Set < DelegateClass(::Set)
@@ -418,7 +420,8 @@ module Cequel
418
420
  # The value of a `map` column in a {Record} instance. Encapsulates and
419
421
  # behaves like a built-in `Hash`.
420
422
  #
421
- # @see http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_using/use_collections_c.html#task_ds_cvq_kcl_zj CQL documentation for map columns
423
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#map
424
+ # CQL documentation for map columns
422
425
  # @since 1.0.0
423
426
  #
424
427
  class Map < DelegateClass(::Hash)
@@ -6,6 +6,8 @@ end
6
6
 
7
7
  module Cequel
8
8
  module Record
9
+ # rubocop:disable LineLength
10
+
9
11
  #
10
12
  # Cequel supports mass-assignment protection in both the Rails 3 and Rails
11
13
  # 4 paradigms. Rails 3 applications may define `attr_protected` and
@@ -20,6 +22,7 @@ module Cequel
20
22
  # @since 1.0.0
21
23
  #
22
24
  module MassAssignment
25
+ # rubocop:enable LineLength
23
26
  extend ActiveSupport::Concern
24
27
 
25
28
  included do
@@ -64,6 +64,8 @@ module Cequel
64
64
  module ClassMethods
65
65
  protected
66
66
 
67
+ # rubocop:disable LineLength
68
+
67
69
  # @!visibility public
68
70
 
69
71
  #
@@ -86,7 +88,7 @@ module Cequel
86
88
  # defines key columns.
87
89
  #
88
90
  # @see
89
- # http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/ddl/ddl_anatomy_table_c.html#concept_ds_cz4_lmy_zj
91
+ # http://cassandra.apache.org/doc/cql3/CQL.html#createTablepartitionClustering
90
92
  # CQL documentation on compound primary keys
91
93
  #
92
94
  def key(name, type, options = {})
@@ -100,6 +102,8 @@ module Cequel
100
102
  set_attribute_default(name, default)
101
103
  end
102
104
 
105
+ # rubocop:enable LineLength
106
+
103
107
  #
104
108
  # Define a data column
105
109
  #
@@ -252,6 +256,30 @@ module Cequel
252
256
  end
253
257
  end
254
258
 
259
+ #
260
+ # Read an attribute
261
+ #
262
+ # @param column_name [Symbol] the name of the column
263
+ # @return the value of that column
264
+ # @raise [MissingAttributeError] if the attribute has not been loaded
265
+ # @raise [UnknownAttributeError] if the attribute does not exist
266
+ #
267
+ def [](column_name)
268
+ read_attribute(column_name)
269
+ end
270
+
271
+ #
272
+ # Write an attribute
273
+ #
274
+ # @param column_name [Symbol] name of the column to write
275
+ # @param value the value to write to the column
276
+ # @return [void]
277
+ # @raise [UnknownAttributeError] if the attribute does not exist
278
+ #
279
+ def []=(column_name, value)
280
+ write_attribute(column_name, value)
281
+ end
282
+
255
283
  #
256
284
  # @return [Boolean] true if this record has the same type and key
257
285
  # attributes as the other record
@@ -289,6 +317,9 @@ module Cequel
289
317
  end
290
318
 
291
319
  def write_attribute(name, value)
320
+ unless self.class.reflect_on_column(name)
321
+ fail UnknownAttributeError, "unknown attribute: #{name}"
322
+ end
292
323
  @attributes[name] = value
293
324
  end
294
325
 
@@ -4,6 +4,7 @@ module Cequel
4
4
  # @since 0.1.0
5
5
  class Railtie < Rails::Railtie
6
6
  config.cequel = Record
7
+ config.app_generators.orm :cequel
7
8
 
8
9
  def self.app_name
9
10
  Rails.application.railtie_name.sub(/_application$/, '')
@@ -41,7 +42,8 @@ module Cequel
41
42
  end
42
43
 
43
44
  generators do
44
- require 'cequel/record/configuration_generator.rb'
45
+ require 'cequel/record/configuration_generator'
46
+ require 'cequel/record/record_generator'
45
47
  end
46
48
  end
47
49
  end
@@ -0,0 +1,24 @@
1
+ module Cequel
2
+ module Record
3
+ #
4
+ # Rails generator to create a record class
5
+ #
6
+ # @since 1.0.0
7
+ #
8
+ class RecordGenerator < Rails::Generators::NamedBase
9
+ namespace 'cequel'
10
+ source_root File.expand_path('../../../../templates', __FILE__)
11
+ argument :attributes, type: :array, default: [],
12
+ banner: 'field:type[:index] field:type[:index]'
13
+
14
+ #
15
+ # Create a Record implementation
16
+ #
17
+ def create_record
18
+ template 'record.rb',
19
+ File.join('app/models', class_path, "#{file_name}.rb")
20
+ end
21
+ end
22
+ end
23
+ end
24
+
@@ -152,7 +152,7 @@ module Cequel
152
152
  # applied
153
153
  #
154
154
  # @see
155
- # http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_reference/select_r.html
155
+ # http://cassandra.apache.org/doc/cql3/CQL.html#selectStmt
156
156
  # CQL SELECT documentation
157
157
  #
158
158
  # @return [Array,RecordSet]
@@ -169,7 +169,7 @@ module Cequel
169
169
  # @return [RecordSet] record set with limit applied
170
170
  #
171
171
  # @see
172
- # http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_reference/select_r.html
172
+ # http://cassandra.apache.org/doc/cql3/CQL.html#selectStmt
173
173
  # CQL SELECT documentation
174
174
  #
175
175
  def limit(count)
@@ -23,11 +23,20 @@ namespace :cequel do
23
23
 
24
24
  require_dependency(file)
25
25
 
26
- watch_stack.new_constants.each do |class_name|
27
- clazz = class_name.constantize
28
- if clazz.ancestors.include?(Cequel::Record)
29
- clazz.synchronize_schema
30
- puts "Synchronized schema for #{class_name}"
26
+ new_constants = watch_stack.new_constants
27
+ if new_constants.empty?
28
+ new_constants << File.basename(file, '.rb').classify
29
+ end
30
+
31
+ new_constants.each do |class_name|
32
+ begin
33
+ clazz = class_name.constantize
34
+ rescue NameError # rubocop:disable HandleExceptions
35
+ else
36
+ if clazz.ancestors.include?(Cequel::Record)
37
+ clazz.synchronize_schema
38
+ puts "Synchronized schema for #{class_name}"
39
+ end
31
40
  end
32
41
  end
33
42
  end
@@ -19,12 +19,14 @@ module Cequel
19
19
  @name, @type = name, type
20
20
  end
21
21
 
22
+ # rubocop:disable LineLength
23
+
22
24
  #
23
25
  # @return [Boolean] true if this is a key column
24
26
  #
25
27
  # @see
26
- # http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/ddl/../../cassandra/glossary/gloss_glossary.html
27
- # The CQL3 glossary
28
+ # http://cassandra.apache.org/doc/cql3/CQL.html#createTablepartitionClustering
29
+ # CQL3 key documentation
28
30
  #
29
31
  def key?
30
32
  partition_key? || clustering_column?
@@ -34,8 +36,8 @@ module Cequel
34
36
  # @return [Boolean] true if this is a partition key column
35
37
  #
36
38
  # @see
37
- # http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/ddl/../../cassandra/glossary/gloss_glossary.html
38
- # The CQL3 glossary
39
+ # http://cassandra.apache.org/doc/cql3/CQL.html#createTablepartitionClustering
40
+ # CQL3 key documentation
39
41
  #
40
42
  def partition_key?
41
43
  false
@@ -45,20 +47,18 @@ module Cequel
45
47
  # @return [Boolean] true if this is a clustering column
46
48
  #
47
49
  # @see
48
- # http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/ddl/../../cassandra/glossary/gloss_glossary.html
49
- # The CQL3 glossary
50
+ # http://cassandra.apache.org/doc/cql3/CQL.html#createTablepartitionClustering
51
+ # CQL3 key documentation
50
52
  #
51
53
  def clustering_column?
52
54
  false
53
55
  end
54
56
 
57
+ # rubocop:enable LineLength
58
+
55
59
  #
56
60
  # @return [Boolean] true if this is a data column
57
61
  #
58
- # @see
59
- # http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/ddl/../../cassandra/glossary/gloss_glossary.html
60
- # The CQL3 glossary
61
- #
62
62
  def data_column?
63
63
  !key?
64
64
  end
@@ -214,7 +214,8 @@ module Cequel
214
214
  #
215
215
  # A List column
216
216
  #
217
- # @see http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_using/use_collections_c.html#task_ds_lqp_krj_zj CQL documentation for the list type
217
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#list
218
+ # CQL documentation for the list type
218
219
  #
219
220
  class List < CollectionColumn
220
221
  # (see Column#to_cql)
@@ -233,8 +234,7 @@ module Cequel
233
234
  #
234
235
  # A Set column
235
236
  #
236
- # @see
237
- # http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_using/use_collections_c.html#task_ds_agt_3kj_zj
237
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#set
238
238
  # CQL documentation for set columns
239
239
  #
240
240
  class Set < CollectionColumn
@@ -256,7 +256,7 @@ module Cequel
256
256
  # A Map column
257
257
  #
258
258
  # @see
259
- # http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_using/use_collections_c.html#task_ds_cvq_kcl_zj
259
+ # http://cassandra.apache.org/doc/cql3/CQL.html#map
260
260
  # CQL documentation for map columns
261
261
  #
262
262
  class Map < CollectionColumn
@@ -28,7 +28,9 @@ module Cequel
28
28
  # replicas that should exist for each piece of data
29
29
  # @return [void]
30
30
  #
31
- # @see TK CQL3 CREATE KEYSPACE documentation
31
+ # @see
32
+ # http://cassandra.apache.org/doc/cql3/CQL.html#createKeyspaceStmt
33
+ # CQL3 CREATE KEYSPACE documentation
32
34
  #
33
35
  def create!(options = {})
34
36
  bare_connection =
@@ -54,7 +56,8 @@ module Cequel
54
56
  #
55
57
  # @return [void]
56
58
  #
57
- # @see TK CQL3 DROP KEYSPACE documentation
59
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#dropKeyspaceStmt
60
+ # CQL3 DROP KEYSPACE documentation
58
61
  #
59
62
  def drop!
60
63
  keyspace.execute("DROP KEYSPACE #{keyspace.name}")
@@ -166,7 +166,8 @@ module Cequel
166
166
  # @return [void]
167
167
  #
168
168
  # @see STORAGE_PROPERTIES List of storage property names
169
- # @see TK list of CQL3 table storage properties
169
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#createTableOptions
170
+ # list of CQL3 table storage properties
170
171
  #
171
172
  def add_property(name, value)
172
173
  TableProperty.build(name, value).tap do |property|
@@ -160,7 +160,8 @@ module Cequel
160
160
  #
161
161
  # `ascii` columns store 7-bit ASCII character data
162
162
  #
163
- # @see TK CQL3 documentation for ascii type
163
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#types
164
+ # CQL3 data type documentation
164
165
  #
165
166
  class Ascii < String
166
167
  def compatible_types
@@ -179,7 +180,8 @@ module Cequel
179
180
  # `blob` columns store arbitrary bytes of data, represented as 8-bit ASCII
180
181
  # strings of hex digits
181
182
  #
182
- # @see TK CQL3 documentation for blob type
183
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#types
184
+ # CQL3 data type documentation
183
185
  #
184
186
  class Blob < String
185
187
  def internal_names
@@ -202,7 +204,8 @@ module Cequel
202
204
  #
203
205
  # `boolean` types store boolean values
204
206
  #
205
- # @see TK CQL3 documentation for boolean type
207
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#types
208
+ # CQL3 data type documentation
206
209
  #
207
210
  class Boolean < Base
208
211
  def cast(value)
@@ -218,7 +221,8 @@ module Cequel
218
221
  # counter columns cannot be updated without Cassandra internally reading
219
222
  # the existing state of the column
220
223
  #
221
- # @see TK CQL3 documentation for counter columns
224
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#types
225
+ # CQL3 data type documentation
222
226
  #
223
227
  class Counter < Base
224
228
  def internal_names
@@ -238,7 +242,8 @@ module Cequel
238
242
  #
239
243
  # `decimal` columns store decimal numeric values
240
244
  #
241
- # @see TK CQL3 documentation for decimal columns
245
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#types
246
+ # CQL3 data type documentation
242
247
  #
243
248
  class Decimal < Base
244
249
  def cast(value)
@@ -250,7 +255,8 @@ module Cequel
250
255
  #
251
256
  # `double` columns store 64-bit floating-point numeric values
252
257
  #
253
- # @see TK CQL3 documentation for double columns
258
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#types
259
+ # CQL3 data type documentation
254
260
  #
255
261
  class Double < Base
256
262
  def cast(value)
@@ -260,9 +266,10 @@ module Cequel
260
266
  register Double.instance
261
267
 
262
268
  #
263
- # TK
269
+ # `inet` columns store IP addresses
264
270
  #
265
- # @see TK CQL3 documentation for inet columns
271
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#types
272
+ # CQL3 data type documentation
266
273
  #
267
274
  class Inet < Base
268
275
  def internal_names
@@ -274,7 +281,8 @@ module Cequel
274
281
  #
275
282
  # `int` columns store 32-bit integer values
276
283
  #
277
- # @see TK CQL3 documentation for int columns
284
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#types
285
+ # CQL3 data type documentation
278
286
  #
279
287
  class Int < Base
280
288
  def internal_names
@@ -290,7 +298,8 @@ module Cequel
290
298
  #
291
299
  # `float` columns store 32-bit floating-point numeric values
292
300
  #
293
- # @see TK CQL3 documentation for float columns
301
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#types
302
+ # CQL3 data type documentation
294
303
  #
295
304
  class Float < Double; end
296
305
  register Float.instance
@@ -298,7 +307,8 @@ module Cequel
298
307
  #
299
308
  # `bigint` columns store 64-bit integer values
300
309
  #
301
- # @see TK CQL3 documentation for bigint columns
310
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#types
311
+ # CQL3 data type documentation
302
312
  #
303
313
  class Bigint < Int
304
314
  def internal_names
@@ -312,7 +322,8 @@ module Cequel
312
322
  # `varchar` columns; the names can be used interchangeably. Text columns do
313
323
  # not have a length limit
314
324
  #
315
- # @see TK CQL3 documentation for text columns
325
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#types
326
+ # CQL3 data type documentation
316
327
  #
317
328
  class Text < String
318
329
  def internal_names
@@ -335,6 +346,9 @@ module Cequel
335
346
  # `timestamp` columns store timestamps. Timestamps do not include time zone
336
347
  # data, and all input times are cast to UTC before being stored.
337
348
  #
349
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#usingdates
350
+ # CQL3 documentation for date columns
351
+ #
338
352
  class Timestamp < Base
339
353
  def internal_names
340
354
  ['org.apache.cassandra.db.marshal.DateType',
@@ -357,6 +371,9 @@ module Cequel
357
371
  # the underlying `cassandra-cql` library expects. Other UUID formats are
358
372
  # supported as inputs.
359
373
  #
374
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#types
375
+ # CQL3 data type documentation
376
+ #
360
377
  class Uuid < Base
361
378
  def internal_names
362
379
  ['org.apache.cassandra.db.marshal.UUIDType']
@@ -379,6 +396,9 @@ module Cequel
379
396
  # functionality presumes the use of type 1 UUIDs, which encode the
380
397
  # timestamp of their creation.
381
398
  #
399
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#types
400
+ # CQL3 data type documentation
401
+ #
382
402
  class Timeuuid < Uuid
383
403
  def internal_names
384
404
  ['org.apache.cassandra.db.marshal.TimeUUIDType']
@@ -389,6 +409,9 @@ module Cequel
389
409
  #
390
410
  # `varint` columns store arbitrary-length integer data
391
411
  #
412
+ # @see http://cassandra.apache.org/doc/cql3/CQL.html#types
413
+ # CQL3 data type documentation
414
+ #
392
415
  class Varint < Int
393
416
  def internal_name
394
417
  'org.apache.cassandra.db.marshal.IntegerType'
@@ -1,4 +1,4 @@
1
1
  module Cequel
2
2
  # The current version of the library
3
- VERSION = '1.0.0.rc4'
3
+ VERSION = '1.0.0'
4
4
  end
@@ -0,0 +1,8 @@
1
+ class <%= class_name %>
2
+ include Cequel::Record
3
+
4
+ key :id, :uuid, auto: true
5
+ <%- attributes.each do |attribute| -%>
6
+ column <%= attribute.name.to_sym.inspect %>, <%= attribute.type.to_sym.inspect %><% if attribute.has_index? %>, index: true<% end %>
7
+ <%- end -%>
8
+ end
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.rc4
4
+ version: 1.0.0
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: 2014-02-02 00:00:00.000000000 Z
15
+ date: 2014-02-08 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: activesupport
@@ -186,6 +186,7 @@ files:
186
186
  - lib/cequel/record/persistence.rb
187
187
  - lib/cequel/record/properties.rb
188
188
  - lib/cequel/record/railtie.rb
189
+ - lib/cequel/record/record_generator.rb
189
190
  - lib/cequel/record/record_set.rb
190
191
  - lib/cequel/record/schema.rb
191
192
  - lib/cequel/record/scoped.rb
@@ -209,6 +210,7 @@ files:
209
210
  - lib/cequel/util.rb
210
211
  - lib/cequel/version.rb
211
212
  - lib/cequel.rb
213
+ - templates/record.rb
212
214
  - spec/environment.rb
213
215
  - spec/examples/metal/data_set_spec.rb
214
216
  - spec/examples/record/associations_spec.rb
@@ -252,9 +254,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
252
254
  version: '1.9'
253
255
  required_rubygems_version: !ruby/object:Gem::Requirement
254
256
  requirements:
255
- - - '>'
257
+ - - '>='
256
258
  - !ruby/object:Gem::Version
257
- version: 1.3.1
259
+ version: '0'
258
260
  requirements:
259
261
  - Cassandra >= 1.2.0
260
262
  rubyforge_project: